yii migrate 数据库迁移

创建表 - yii migrate/create
<name> 只包含字母、数字和下划线

[root@web-test001 api]# ./yii migrate/create create_test_table
Yii Migration Tool (based on Yii v2.0.15.1)
Create new migration '/home/wwwtest/test/api/console/migrations/m200422_031343_create_test_table.php'? (yes|no) [no]:yes
New migration created successfully.

每个数据库迁移都会被定义为一个继承自yii\db\Migration 的 PHP 类。 类的名称按照m<YYMMDD_HHMMSS>_<Name>的格式自动生成。
<YYMMDD_HHMMSS> 指执行创建迁移命令的 UTC 时间。
<Name> 和你执行命令时所带的 name 参数值相同。
在迁移类当中,你应当在 up() 方法中编写改变数据库结构的代码。 你可能还需要在 down() 方法中编写代码来恢复由 up() 方法所做的改变。 当你通过 migration 升级数据库时, up() 方法将会被调用,反之, down() 将会被调用

<?php
use yii\db\Migration;
class m181126_114829_create_test_table extends Migration
{
    public function up()
    {

    }

    public function down()
    {
        echo "m181126_114829_create_test_table cannot be reverted.\n";

        return false;
    }

    /*
    // Use safeUp/safeDown to run migration code within a transaction
    public function safeUp()
    {
    }
    public function safeDown()
    {
    }
    */
}

创建字段

#简单属性创建
./yii migrate/create create_test_table--fields="title:string"
#制定更多属性创建
./yii migrate/create create_test_table--fields="title:string(12):notNull:unique,body:text"
#从 2.0.8 版本开始,生成器通过使用 foreignKey 关键字支持外键
./yii migrate/create create_test_table--fields="author_id:integer:notNull:foreignKey(user),category_id:integer:defaultValue(1):foreignKey,title:string,body:text"

迁移记录

./yii migrate/history

刷新迁移

yii migrate/fresh       # 清空数据库并从头开始应用所有迁移。

demo

#创建Migration
./yii migrate/create user_vips
#创建model
./yii gii/model --ns=common\\models --tableName=user_vips --modelClass=UserVips
#用gii生成model 不指明ns则在console/models 下生成
#yii gii/model --ns=命名空间 --tableName=表全名 --modelClass=类名
#linux 命名空间\\
./yii gii/model --ns=common\\models --tableName=user --modelClass=ceshi
#windows 命名空间\
./yii gii/model --ns=common\models --tableName=user --modelClass=ceshi
#用gii生成crud
#yii gii/crud --modelClass=模型命名空间 --controllerClass=控制器
yii gii/crud --modelClass=common\\models\\Agreement --controllerClass=app\\controllers\\AgreementController

常用操作
yii\db\Migration::execute(): 执行一条 SQL 语句
insert(): 插入单行数据
batchInsert(): 插入多行数据
update(): 更新数据
delete(): 删除数据
createTable(): 创建表
renameTable(): 重命名表名
dropTable(): 删除一张表
truncateTable(): 清空表中的所有数据
addColumn(): 加一个字段
renameColumn(): 重命名字段名称
dropColumn(): 删除一个字段
alterColumn(): 修改字段
addPrimaryKey(): 添加一个主键
dropPrimaryKey(): 删除一个主键
addForeignKey(): 添加一个外键
dropForeignKey(): 删除一个外键
createIndex(): 创建一个索引
dropIndex(): 删除一个索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值