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

本文介绍了Yii2.0框架中的数据迁移功能,如何创建和执行迁移来管理数据库,以及如何利用Gii工具快速生成Model和CRUD操作。详细讲解了创建表、添加字段的迁移命令,并提供了执行、还原和重做迁移的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

1、创建blog表

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

yii migrate/create create_blog_table

代码结构如下:

<?php

use 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

代码如下

<?php

use 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    可视化化操作


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值