turanct / bdsm
BDSM执行简单的迁移
Requires
- symfony/console: ^2.7.3
Requires (Dev)
- phpunit/phpunit: ^4.8.6
- zerkalica/phpcs: dev-master
This package is auto-updated.
Last update: 2024-08-28 23:29:48 UTC
README
这是一个非常简单的迁移库。目前它并不建议在生产环境中使用,但如果你真的想用,也没人能阻止你。使用风险自负。
使用方法
安装
安装很简单,只需在你的composer.json文件中将turanct/bdsm作为一个开发依赖项,并配置一个bin-dir。当你运行composer install时,bdsm可执行文件将在你的bin目录中可用。
{
"require-dev": {
"turanct/bdsm": "dev-master"
},
"config": {
"bin-dir": "bin"
}
}
引导
bdsm可执行文件期望在项目的当前工作目录中有一个.bdsm.php文件。在这个文件中,你可以执行所有必要的引导操作。它只需要返回一个包含以下元素的数组
- 我们可以找到迁移的目录
- 我们可以记录我们运行了哪些迁移的文件
- 一个实现了真正简单
Bdsm\Database接口的数据库适配器
<?php use Bdsm\Database; final class MyDatabaseAdapter implements Database { public function query($query) { var_dump($query); } } return array( __DIR__ . '/migrations', __DIR__ . '/.bdsm.log.json', new MyDatabaseAdapter(), );
在这种情况下,我们提供了一个名为migrations的目录,其中迁移将存放,以及一个名为.bdsm.log.json的日志文件,系统可以将日志记录到这个文件中。在这个示例中,数据库适配器实际上不会连接到数据库,但它会打印出每个发出的查询。
第一个迁移
我们现在可以创建第一个迁移了!使用带有create参数的bdsm命令。
$ bin/bdsm create
Migration "Migration1441375998" created...
你还可以传递一个自定义的迁移名称作为参数。我们的迁移目录中将会创建一个新的迁移文件,其内容如下
<?php use Bdsm\Migration; use Bdsm\Database; final class Migration1441375998 implements Migration { public function up(Database $database) { } public function down(Database $database) { } }
现在我们可以简单地编写迁移的up和down操作,然后检查其状态。它应该是红色的。
$ bin/bdsm status ✘ Migration1441375998
运行它就像bdsm up Migration1441375998一样简单。请注意,你可以使用不带参数的bdsm up来运行所有迁移。
$ bin/bdsm up Migration1441375998
Do you want to migrate UP migration Migration1441375998? (Y/n)
Migrated...
再次查看迁移状态,我们发现我们已经成功!
$ bin/bdsm status ✔︎ Migration1441375998
向下迁移的过程与向上迁移相同,只是使用down而不是up命令。
测试
BDSM有单元测试,位于tests目录中。这些测试使用phpunit编写。要运行它们,请确保你执行了composer install并运行了phpunit。
$ sbin/phpunit
贡献
随时fork并发送pull请求!
许可证
这个库是MIT许可证。也请参阅LICENSE.md