📅  最后修改于: 2023-12-03 14:48:41.114000             🧑  作者: Mango
在 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 中使用迁移工具进行数据库结构的管理。迁移工具不仅使得多人协作开发更加容易,也保证了数据库结构的统一性,避免了开发过程中出现因结构不统一而导致的问题。