- Is mich418/shopware-custom-fields-sync a Laravel package or a Shopware plugin?
- It is a Shopware 6 bundle built on Symfony, not a Laravel package, despite being distributed via Composer and often described in Laravel/PHP terms. There is no service provider, facade, or config file that drops into a Laravel application. Laravel only enters the picture as an orchestration or CI layer that shells out to Shopware's bin/console. If your stack is not Shopware 6, this package is out of scope and should be rejected at intake.
- How do I install mich418/shopware-custom-fields-sync in a Shopware 6 project?
- Install it with Composer into the Shopware 6 codebase, then register the bundle in config/bundles.php and install or activate it through the plugin manager or console. The exact plugin name and registration class are not documented in the README excerpt, so inspect the repository's composer.json and plugin base class first. Verify autoloading and bundle registration against your exact Shopware build before committing to the approach. Installing into a disposable Shopware instance first is strongly advised given the lack of community validation.
- Which Shopware 6 versions does this custom fields sync plugin support?
- The supported version range is not documented, so the only reliable signal is the Shopware constraint in the package's composer.json. Pin Shopware explicitly and validate the plugin against that exact version in a throwaway environment. Do not assume forward compatibility across Shopware 6 minor releases, since plugin compatibility and admin boot can break on drift. If the constraint is missing or open-ended, treat the plugin as version-locked to whatever you tested.
- Does it manage custom field sets, translations, and field ordering, or only raw field definitions?
- The stated scope is creation, updating, and removal of custom fields, and the README excerpt does not confirm coverage of field sets, translations or labels, or position and ordering. Verify these details in the source before relying on the plugin for a full declarative definition. If it only handles raw field definitions, you will still need an additional path for sets and translated labels. Plan a read-only inventory and diff step to see exactly what the plugin touches in each environment.
- Are the sync operations idempotent and safe to run on every deployment?
- Idempotency is not documented, so it must be proven rather than assumed. In a disposable Shopware instance, define one field set, run create, re-run to confirm nothing changes, then run update and confirm the result. Only after that sequence behaves predictably should you wire the command into a pipeline. Gate staging runs behind a dry-run or diff step until repeat runs are verified as no-ops.
- What does removal of a custom field actually do, and can it delete stored data?
- The removal semantics are undocumented, which is the biggest risk in this package. Removing a custom field definition can orphan or drop values stored against products, orders, and customers depending on how Shopware and the plugin handle it. There is no documented dry-run, confirmation prompt, soft-delete, or data-retention policy. Test removal on a disposable database seeded with real-shaped data and confirm exactly what is and is not deleted before automating it anywhere.
- Can I run this from a Laravel CI/CD pipeline as a deployment step?
- Yes, but only as an external call: your Laravel app or CI runner invokes Shopware's bin/console command against the Shopware instance, rather than the bundle living inside the Laravel app. A CLI entry point suitable for CI is the natural fit for Shopware plugins, but confirm the actual command name and options in the source since the README excerpt does not list them. Keep credentials and environment targeting in the pipeline, not in committed config. Treat the sync as a Shopware deployment concern, not a Laravel application concern.
- Is mich418/shopware-custom-fields-sync safe and maintained enough for production use?
- It has zero stars, zero dependents, and no visible community validation, which means there is no evidence of production use. Maintenance posture such as last commit date, issue responsiveness, and license should be checked on the repository before deciding. The safer pattern is to fork or vendor the repository into internal source control so you control fixes and have a stable artifact if upstream goes dormant. Treat it as an unvetted internal-style utility rather than a supported dependency.
- How should I test this custom fields sync before touching a shared environment?
- Start in a throwaway Shopware 6 instance: install, register the bundle, define a single field, create it, re-run to check idempotency, then update and finally test removal against seeded data. Follow with a read-only inventory of existing custom fields in each environment and a diff against your intended declarative definition. Only once that diff is understood should create and update be enabled in shared development. Promote to staging behind a dry-run gate, and to production only after the removal path is fully understood.
- What alternatives exist, and when should I avoid this package entirely?
- If your platform is not Shopware 6, avoid it completely, since a Laravel-only codebase gains nothing from a Symfony bundle. Within Shopware, alternatives include managing custom fields through the Admin UI, shipping definitions in your own plugin migrations and lifecycle hooks, or using the Admin API from a deployment script. This package is worth a proof of concept only if you specifically want declarative custom field management from the console and can absorb the unvetted maintenance risk. Vendor the code if you proceed so an upstream stall cannot block your deployments.