Yii2.0-advanced-4—数据迁移和gii

来源:互联网 发布:多系统启动软件 编辑:程序博客网 时间:2024/06/08 06:07

yii2.0支持migrate数据迁移,使用数据迁移可以对数据库进行版本化的管理,方便了数据库的管理和操作。

一、创建迁移(生成的迁移文件位置:app\console\migrations\)

1、创建blog表

使用create_blog_table 这个名称并运行如下命令:

yii migrate/create create_blog_table

代码结构如下:

<?phpuse yii\db\Migration;use yii\db\Schema;class m170926_085221_create_blog_table extends Migration{    public function up()    {        $this->createTable('blog', [            'id' => Schema::TYPE_PK." comment 'blog表id' ",            'title' => Schema::TYPE_STRING." comment 'blog标题' ",            'content' => Schema::TYPE_TEXT." comment 'blog内容' ",            'column_id' => Schema::TYPE_INTEGER." comment '分类id' ",            'create_at' => Schema::TYPE_INTEGER." comment '发布时间' ",        ]);    }    public function down()    {        $this->dropTable('blog');    }}

当你通过 migration 创建一张表或者字段的时候,你应该使用 抽象类型 而不是 实体类型, 这样一来你的迁移对象就可以从特定的 DBMS 当中抽离出来。 yii\db\Schema 类定义了一整套可用的抽象类型常量。这些常量的格式为 TYPE_<Name>推荐使用Schema抽象数据类,它可以用字符串的形式添加字段属性,使用更灵活。

2、添加review字段

使用add_review_to_blog 这个名称并运行如下命令:

yii migrate/create add_review_to_blog

代码如下

<?phpuse yii\db\Migration;use yii\db\Schema;class m170927_011743_add_review_to_blog extends Migration{    public function up()    {        $this->addColumn('blog','review',Schema::TYPE_BOOLEAN." default false comment '审核' ");    }    public function down()    {        $this->dropColumn('blog','review');    }}

二、执行迁移

1、执行全部迁移

yii migrate

2、执行某个迁移文件

yii migrate/to m170927_011743_add_review_to_blog

三、还原迁移

yii migrate/down # revert the most recently applied migration 还原最近一次提交的迁移

yii migrate/down3# revert the most 3 recently applied migrations 还原最近三次提交的迁移

四、重做迁移

重做迁移的意思是先还原指定的迁移,然后再次提交。 如下所示:

yii migrate/redo        # redo the last applied migration 重做最近一次提交的迁移yii migrate/redo 3      # redo the last 3 applied migrations 重做最近三次提交的迁移
五、列出迁移

你可以使用如下命令列出那些提交了的或者是还未提交的迁移:

yii migrate/history     # 显示最近10次提交的迁移yii migrate/history 5   # 显示最近5次提交的迁移yii migrate/history all # 显示所有已经提交过的迁移yii migrate/new         # 显示前10个还未提交的迁移yii migrate/new 5       # 显示前5个还未提交的迁移yii migrate/new all     # 显示所有还未提交的迁移
其他详细内容,参考 yii2.0权威指南

-------------------------------------------------------------

gii的使用

当表创建成功后就可以使用gii这个组件快速生成 model 和 crud 操作了

直接访问:/gii    可视化化操作


原创粉丝点击