From 16c84b3dc23cdac04157043f0aba735f06ce3c0f Mon Sep 17 00:00:00 2001 From: Alexander Kozienko Date: Thu, 28 Feb 2019 13:54:00 +0200 Subject: [PATCH 1/2] Migrations integration --- DependencyInjection/Configuration.php | 2 ++ DependencyInjection/YadmExtension.php | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 564336b..67ab599 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -2,6 +2,7 @@ namespace Formapro\Yadm\Bundle\DependencyInjection; use Formapro\Yadm\Hydrator; +use Formapro\Yadm\Migration\Symfony\MigrationsDIFactory; use Formapro\Yadm\Storage; use Formapro\Yadm\StorageMeta; use Symfony\Component\Config\Definition\Builder\TreeBuilder; @@ -41,6 +42,7 @@ public function getConfigTreeBuilder() ->end() ->end() ->end() + ->append(MigrationsDIFactory::getConfiguration()) ; return $tb; diff --git a/DependencyInjection/YadmExtension.php b/DependencyInjection/YadmExtension.php index 2da69c9..1f62980 100644 --- a/DependencyInjection/YadmExtension.php +++ b/DependencyInjection/YadmExtension.php @@ -7,6 +7,8 @@ use Formapro\Yadm\ChangesCollector; use Formapro\Yadm\CollectionFactory; use Formapro\Yadm\ConvertValues; +use Formapro\Yadm\Migration\Context; +use Formapro\Yadm\Migration\Symfony\MigrationsDIFactory; use Formapro\Yadm\PessimisticLock; use Formapro\Yadm\Registry; use Formapro\Yadm\Type\UTCDatetimeType; @@ -151,5 +153,8 @@ public function load(array $configs, ContainerBuilder $container) ->addArgument(new Reference('yadm.client')) ->addTag('console.command') ; + + // migrations + MigrationsDIFactory::buildServices($config['migrations'], $container); } } \ No newline at end of file From b42d4f546cee9fdf54ccad1e2adec5809e4beebf Mon Sep 17 00:00:00 2001 From: Alexander Kozienko Date: Fri, 1 Mar 2019 14:36:17 +0200 Subject: [PATCH 2/2] Migrations integration --- DependencyInjection/YadmExtension.php | 1 - README.md | 50 +++++++++++++++++++++++++++ composer.json | 5 +-- 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/DependencyInjection/YadmExtension.php b/DependencyInjection/YadmExtension.php index 1f62980..c6ca7b6 100644 --- a/DependencyInjection/YadmExtension.php +++ b/DependencyInjection/YadmExtension.php @@ -7,7 +7,6 @@ use Formapro\Yadm\ChangesCollector; use Formapro\Yadm\CollectionFactory; use Formapro\Yadm\ConvertValues; -use Formapro\Yadm\Migration\Context; use Formapro\Yadm\Migration\Symfony\MigrationsDIFactory; use Formapro\Yadm\PessimisticLock; use Formapro\Yadm\Registry; diff --git a/README.md b/README.md index 0494f5e..0fbab10 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ class AppKernel extends Kernel ```yaml yadm: mongo_uri: 'mongodb://mongo:27017/db_name' + migrations: ~ # enable migrations models: category: class: 'Acme\Model\Category' @@ -54,6 +55,55 @@ $registry = $container->get('yadm'); $productStorage = $registry->getStorage('Acme\Model\Category'); ``` +## Migrations + +Generate new migration class + +```bash +$ ./bin/console yadm:migrations:generate + Generated new migration class to "/app/YadmMigrations/Migration20190301122316.php" +``` + +Generated migration class example + +```php +=7.0", - "formapro/yadm": "^0.5" + "formapro/yadm": "^0.5", + "formapro/yadm-migrations": "^0.5" }, "suggest": { - "doctrine/data-fixtures": "^1.2 If you want to use fixrue load command" + "doctrine/data-fixtures": "^1.2 If you want to use fixture load command" }, "autoload": { "psr-4": { "Formapro\\Yadm\\Bundle\\": "" },