netlogix / nlxshopenvironment
Plugin to dump/load configurations in a shopware shop to/from a file from/to the database
Installs: 8 363
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:shopware-plugin
pkg:composer/netlogix/nlxshopenvironment
Requires
- php: ^7.4||^8.0
- symfony/expression-language: ^4.3
- symfony/yaml: ^4.3
Requires (Dev)
- phpunit/phpunit: ^5.7
- shopware/shopware: ^5.7
- solutiondrive/standalone-build-tools: ^2.0
README
By using this Shopware plugin you can load or dump some shop configuration to or from database.
This is especially useful for easily privisioning different environment.
For example you can have a file shopconfig.prod.yml and a shopconfig.dev.yml
in your GIT repository.
You can then use a dump of your production database to setup your development environment.
After inserting the dump into your database,
you can load the settings from shopconfig.dev.yml file
overriding production critical configuration like smtp servers, hostnames, URLs, etc.
Usage
First you have to install and activate the plugin into your shopware installation.
Then you can use both commands:
bin/console sd:environment:config:dump
bin/console sd:environment:config:load
Use help command on the commands to get a brief overview of what they do.
Adding functionality
For each root node in the yaml files there is an own loader that processes the configuration
and an own dumper that generates these information.
To add a new root node you have to do the following:
- Provide a new
Loaderthat implements theLoaderInterfacethat is registered inResources/services/loaders.xml. - Provide a new
Dumperthat implements theDumperInterfacethat is registered inResources/services/dumpers.xml. - Provide a new
DataTypethat implements theDataTypeInterfacethat is registered inResources/services/data_types.xmland tagged withnlx.data_type. In the tag you can define the concrete root node key you want to use. If you are lazy you can omit creating an own class implementingDataTypeInterfaceby usingGenericDataType.
License
Please see License File for more information.