netlogix / nlxshopenvironment
Plugin to dump/load configurations in a shopware shop to/from a file from/to the database
Installs: 6 522
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Type:shopware-plugin
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
Loader
that implements theLoaderInterface
that is registered inResources/services/loaders.xml
. - Provide a new
Dumper
that implements theDumperInterface
that is registered inResources/services/dumpers.xml
. - Provide a new
DataType
that implements theDataTypeInterface
that is registered inResources/services/data_types.xml
and 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 implementingDataTypeInterface
by usingGenericDataType
.
License
Please see License File for more information.