o3-shop / shop-doctrine-migration-wrapper
O3-Shop database migrations using doctrine
Installs: 1 235
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: ^7.4 || ^8.0
- composer/package-versions-deprecated: ^1
- doctrine/migrations: ^2.3.2
- o3-shop/shop-facts: ^1.0.0
- symfony/console: *
Requires (Dev)
- ext-pdo: *
- mikey179/vfsstream: ~1.6.8
- o3-shop/shop-ce: ^1.0.0
- phpunit/phpunit: ^8.5.14
- symfony/filesystem: ^4.4.17
- symfony/yaml: ~3.4 || ~4.0
Replaces
This package is auto-updated.
Last update: 2024-10-30 01:48:34 UTC
README
Branch Compatibility
- master branch is compatible with O3-Shop compilation master
- b-6.4.x branch is compatible with O3-Shop compilation 6.4.x
- b-6.3.x branch is compatible with O3-Shop compilation 6.3.x
- b-3.x branch is compatible with O3-Shop compilation 6.2.x
- b-1.x branch is compatible with O3-Shop compilations before 6.2.x
Description
O3-Shop uses database migrations for:
- eShop editions migration
- Project specific migrations
- Modules migrations
At the moment O3-Shop uses "Doctrine 2 Migrations" and it's integrated via O3-Shop migration components.
Doctrine Migrations runs migrations with a single configuration. But there was a need to run migration for one or all the projects and modules (CE, PR and a specific module). For this reason Doctrine Migration Wrapper was created.
Running migrations - CLI
Script to run migrations is installed within composer bin directory. It accepts two parameters:
- Doctrine Command
- Suite Type (CE, PR or a specific module_id)
vendor/bin/oe-eshop-db_migrate <Doctrine_Command> <Suite_Type>
To get comprehensive information about Doctrine 2 Migrations and available commands as well, please see official documentation.
Example:
vendor/bin/oe-eshop-db_migrate migrations:migrate
This command will run all the migrations which are in O3-Shop specific directories. For example if you have migration tool will run migrations in this order:
- Community Edition migrations (executed always)
- Project specific migrations (executed always)
- Module migrations (executed when eShop has at least one module with migration)
Suite Types (Generate migration for a single suite)
It is also possible to run migrations for specific suite by defining <Suite_Type> parameter in the command. This variable defines what type of migration it is. There are 5 suite types:
- PR - For project specific migrations. It should be always used for project development.
- CE - Generates migration file for O3-Shop Community Edition. It's used for product development only.
- <module_id> - Generates migration file for O3-Shop specific module. It’s used for module development only.
Example 1:
vendor/bin/oe-eshop-db_migrate migrations:generate
This command generates migration versions for all the suite types.
Example 2:
vendor/bin/oe-eshop-db_migrate migrations:generate CE
In this case it will be generated only for Community Edition in vendor/o3-shop/shop_ce/migration directory.
Use Migrations Wrapper without CLI
Doctrine Migration Wrapper is written in PHP and also could be used without command line interface. To do so:
- Create
Migrations
object withMigrationsBuilder->build()
- Call
execute
method with needed parameters
Bugs and Issues
If you experience any bugs or issues, please report them in the section O3-Shop (all versions) of https://bugs.o3-shop.com.