phalcon数据迁移到回滚实现

阅读更多
先安装phalcon/phalcon-devtools
有多种方法,
composer是简单的一种。

composer require "phalcon/devtools:~3.4" --dev

然后
.vendor/bin/phalcon





根据已有的 表建立迁移文件

.vendor/bin/phalcon migration generate

运行已有的迁移文件

.vendor/bin/phalcon migration run

回滚到某个版本

.vendor/bin/phalcon migration run --version=1.0.3

注意事项
migrations目录下,
所有的类名必须都不一样
为什么不使用phalcon本身的迁移类,是因为
它的列和表都不能加注释。
所以我决定使用sql原生的ddl语句。


增加列定义
* // Column definition
* $column = new Column(
*     "id",
*     [
*         "type"          => Column::TYPE_INTEGER,
*         "size"          => 10,
*         "unsigned"      => true,
*         "notNull"       => true,
*         "autoIncrement" => true,
*         "first"         => true,
*     ]
* );
*
* // Add column to existing table
* $connection->addColumn("robots", null, $column);

完整表定义
$str="CREATE TABLE `table123` (
            `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '你好主键',
            PRIMARY KEY (`id`)
          ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='你好表'";
          self::getConnection()->query($str);


删除列定义,删除表定义,删除索引定义
self::getConnection()->dropColumn('products2','invo','active2');




你可能感兴趣的:(phalcon,migration,rollback)