phpcr/phpcr-migrations-bundle
最新稳定版本:1.6.0
Composer 安装命令:
composer require phpcr/phpcr-migrations-bundle
包简介
PHPCR migrations bundle
README 文档
README
This library provides a Symfony integration for the PHPCR migrations library.
It has initially been created by Daniel Leech as dantleech/phpcr-migrations-bundle and was then
donated to the PHPCR organization.
Configuration
Configure the path to your migrations:
# config/packages/phpcr-migrations.yaml phpcr_migrations: paths: [%kernel.project_dir%/phpcr-migrations]
And the bundle will automatically pick up any migrations in the
Resources/phpcr-migrations folder in any bundles registered in the kernel.
Creating migrations
First create two new migration files:
<?php // phpcr-migrations/Version201501011200.php use PHPCR\SessionInterface; use PHPCR\Migrations\VersionInterface; class Version201501011200 implements VersionInterface { public function up(SessionInterface $session): void { $session->getRootNode()->addNode('hello'); } public function down(SessionInterface $session): void { $session->getRootNode()->getNode('hello')->remove(); } }
and
<?php // app/phpcr-migrations/Version201501011212.php use PHPCR\SessionInterface; use PHPCR\Migrations\VersionInterface; class Version201501011212 implements VersionInterface { public function up(SessionInterface $session): void { $session->getNode('/hello')->addNode('world'); } public function down(SessionInterface $session): void { $session->getNode('/hello')->getNode('world')->remove(); } }
Migration status
Note that migration MUST be named as follows: VersionYYYMMDDHHSS. If they
are not so-named, they will not be detected. The timestamp SHOULD be the
current date (in this example 2015/01/01 12:00).
Now execute the phpcr:migrations:status command:
$ php app/console phpcr:migrations:status +--+---------------+------------------+----------+----------------------------------------------+ | | Version | Date | Migrated | Path | +--+---------------+------------------+----------+----------------------------------------------+ | | 201501011200 | 2015-01-01 12:00 | NO | app/phpcr-migrations/Version201501011200.php | | | 201501011212 | 2015-01-01 12:12 | NO | app/phpcr-migrations/Version201501011212.php | +--+---------------+------------------+----------+----------------------------------------------+ No migrations have been executed
Executing migrations
Now we can run the migrations:
$ php app/console phpcr:migrations:migrate Upgrading 2 version(s): + [1/2]: 201501011200 + [2/2]: 201501011212
This should run the two migrations.
Reverting
You can now revert back to the first version as follows:
$ php app/console phpcr:migrations:migrate 201501011200 Reverting 1 version(s): - [1/4]: V201501011212
Actions
In addition to specifying versions you can specify actions:
$ php app/console phpcr:migrations:migrate up Upgrading 1 version(s): - [1/4]: V201501011212
Actions are:
up: Upgrade one versiondown: Revert one versiontop: Migrate to the latest versionbottom: Revert all migrations
统计信息
- 总下载量: 223.58k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 1
- 依赖项目数: 12
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-03-18