PHPackages                             mich418/shopware-custom-fields-sync - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mich418/shopware-custom-fields-sync

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

mich418/shopware-custom-fields-sync
===================================

A Shopware bundle for seamless creation, updating, and removal of custom fields.

0.1.0(3mo ago)00MITPHPPHP ^8.1

Since Feb 1Pushed 3mo agoCompare

[ Source](https://github.com/mich418/shopware-custom-fields-sync)[ Packagist](https://packagist.org/packages/mich418/shopware-custom-fields-sync)[ RSS](/packages/mich418-shopware-custom-fields-sync/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (3)Used By (0)

Shopware Custom Fields Sync Bundle
==================================

[](#shopware-custom-fields-sync-bundle)

A Symfony bundle for **synchronizing Shopware custom field sets and fields from configuration files**.

The bundle treats configuration as the **single source of truth**:

- custom field sets, fields and relations defined in config are **created or updated**
- anything that exists in the database but **is not present in config is removed**
- changes in field configuration (labels, components, options, etc.) are **always applied**
- deterministic UUIDs are generated from names

The bundle is designed to be used **inside Shopware plugins** and triggered from plugin lifecycle hooks (`install`, `update`).

---

Features
--------

[](#features)

- Supports **Shopware 6.6+**
- Synchronizes:
    - custom field sets
    - custom fields
    - entity relations
- Supports config written in:
    - **PHP**
    - **YAML**
- Deterministic IDs based on names (stable across environments)
- No runtime options – simple and predictable behavior

> ⚠️ Renaming a custom field changes its technical name. Existing values stored in entity `custom_fields` JSON will **not** be migrated automatically. If you need data migration, handle it separately in your plugin.

---

Installation
------------

[](#installation)

Install via Composer:

```
composer require mich418/shopware-custom-fields-sync
```

Configuration format
--------------------

[](#configuration-format)

Config file can define one or more custom field sets. Shopware Custom Fields Sync provides support for PHP and Yaml config format

### PHP config example

[](#php-config-example)

```
