formapro / yadm-bundle
0.5.6
2019-05-14 10:40 UTC
Requires
- php: >=7.1
- formapro/yadm: ^0.5.5
- formapro/yadm-migrations: ^0.5
Suggests
- doctrine/data-fixtures: ^1.2 If you want to use fixture load command
README
安装
安装库
$ composer require formapro/yadm-bundle "mikemccabe/json-patch-php:dev-master as 0.1.1"
注册包
<?php # /app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = [ new \Formapro\Yadm\Bundle\YadmBundle(), ]; return $bundles; } }
配置
yadm: mongo_uri: 'mongodb://mongo:27017/db_name' migrations: ~ # enable migrations models: category: class: 'Acme\Model\Category' collection: 'category' product: class: 'Acme\Model\Product' collection: 'product' hydrator: 'app.product.hydrator'
使用方法
在您的代码中,您可以从注册表中获取存储
<?php $registry = $container->get('yadm'); $productStorage = $registry->getStorage('Acme\Model\Category');
迁移
生成新的迁移类
$ ./bin/console yadm:migrations:generate
Generated new migration class to "/app/YadmMigrations/Migration20190301122316.php"
生成的迁移类示例
<?php declare(strict_types=1); namespace App\YadmMigrations; use Formapro\Yadm\Migration\Migration; use Formapro\Yadm\Registry; /** * Auto-generated Migration: Please modify to your needs! */ final class Migration20190301122316 implements Migration { public function execute(Registry $yadm): void { } }
执行迁移
$ ./bin/console yadm:migrations:migrate Next migrations will be executed: 20190301122316, 20190301122500, 20190301122502 WARNING! You are about to execute a database migration that could result in schema changes and data loss. Are you sure you wish to continue? (y/n) Execute migration: 20190301122316 Execute migration: 20190301122500 Execute migration: 20190301122502 ------------------------ ++ finished in 0s ++ 3 migrations executed
许可证
MIT