ekapusta / doctrine-phinx-bridge-bundle

自动从Doctrine模式差异中生成Phinx迁移。

1.0.2 2017-04-05 08:39 UTC

This package is auto-updated.

Last update: 2024-08-25 23:09:37 UTC


README

自动从Doctrine模式差异中生成Phinx迁移。

命令参数

classname — 使用代替自动生成的 AutoMigration1234567890 的迁移类名。

配置

当前使用 doctrine_migrations.dir_name 作为路径,使用 doctrine_migrations.table_name 作为忽略迁移表的配置。

使用方法

运行 bin/console doctrine:migrations:diff:phinx 以获取自动迁移,例如 20160825101109_auto_migration20160825131109.php

<?php
use Phinx\Migration\AbstractMigration;
class AutoMigration20160825131109 extends AbstractMigration
{
    public function up()
    {
        $this->execute('CREATE TABLE abc (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
    }
    public function down()
    {
        $this->execute('DROP TABLE abc');
    }
}

或者运行 bin/console doctrine:migrations:diff:phinx AddAbcTableMigration 以获取命名迁移 20160825101313_add_abc_table_migration.php

<?php
use Phinx\Migration\AbstractMigration;
class AddAbcTableMigration extends AbstractMigration
{
    public function up()
    {
        $this->execute('CREATE TABLE abc (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
    }
    public function down()
    {
        $this->execute('DROP TABLE abc');
    }
}