📜  yii2 进行迁移 - PHP (1)

📅  最后修改于: 2023-12-03 14:48:41.114000             🧑  作者: Mango

Yii2 进行迁移

在 Yii2 中,使用迁移 (Migration) 可以在数据库中记录表结构的变化。这样,在分布式开发中,多人修改同一个数据库结构时,就不会出现结构不统一的问题。

安装迁移工具

在使用迁移功能之前,需要先安装迁移工具 yii2-migration。可以通过 Composer 进行安装:

composer require --dev "yiisoft/yii2-migration:*"
初始化迁移表

在使用迁移工具之前,需要先运行一次初始化命令,以创建记录迁移信息的表:

php yii migrate/up --migrationPath=@yii/migrations
创建迁移文件

使用迁移工具,可以通过以下命令创建一个迁移文件:

php yii migrate/create create_table_name

其中,create_table_name 是要创建的表名,可以自定义。

创建迁移文件后,会在 @app/migrations 中创建一个迁移文件,文件名以时间戳格式命名,如 m200101_000000_create_table_name.php

编写迁移代码

打开新创建的迁移文件,可以看到如下代码:

use yii\db\Migration;

/**
 * Class m200101_000000_create_table_name
 */
class m200101_000000_create_table_name extends Migration
{
    /**
     * {@inheritdoc}
     */
    public function safeUp()
    {

    }

    /**
     * {@inheritdoc}
     */
    public function safeDown()
    {

    }
}

safeUp 方法中编写创建表的代码,如:

$this->createTable('table_name', [
    'id' => $this->primaryKey(),
    'name' => $this->string()->notNull(),
]);

safeDown 方法中编写删除表的代码,如:

$this->dropTable('table_name');
执行迁移

编写完迁移代码后,就可以执行迁移命令了:

php yii migrate

执行成功后,数据库中就会有新建的表了。

如果需要回滚迁移,可以运行以下命令:

php yii migrate/down
总结

通过以上的介绍,我们了解了如何在 Yii2 中使用迁移工具进行数据库结构的管理。迁移工具不仅使得多人协作开发更加容易,也保证了数据库结构的统一性,避免了开发过程中出现因结构不统一而导致的问题。