turanct/bdsm

BDSM执行简单的迁移

安装: 11

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:application

0.0.1 2015-09-04 14:28 UTC

This package is auto-updated.

Last update: 2024-08-28 23:29:48 UTC


README

Travis CI

这是一个非常简单的迁移库。目前它并不建议在生产环境中使用,但如果你真的想用,也没人能阻止你。使用风险自负。

使用方法

安装

安装很简单,只需在你的composer.json文件中将turanct/bdsm作为一个开发依赖项,并配置一个bin-dir。当你运行composer install时,bdsm可执行文件将在你的bin目录中可用。

{
    "require-dev": {
        "turanct/bdsm": "dev-master"
    },
    "config": {
        "bin-dir": "bin"
    }
}

引导

bdsm可执行文件期望在项目的当前工作目录中有一个.bdsm.php文件。在这个文件中,你可以执行所有必要的引导操作。它只需要返回一个包含以下元素的数组

  1. 我们可以找到迁移的目录
  2. 我们可以记录我们运行了哪些迁移的文件
  3. 一个实现了真正简单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