Yii 框架 2.0 与现有数据库的迁移


Yii Framework 2.0 Migration with existing database

我知道 Yii 框架 2.0 迁移的概念。假设我们生成迁移源代码并运行命令,数据库表将根据源代码创建。是否可以基于现有数据库创建迁移源代码?对于源代码,我不是指模型、控制器或 CRUD 类,但我是指迁移源代码。这是某种逆向工程。

以下 yii2 扩展从现有的 MySQL、MSSQL、PgSQL 或 SQLite 数据库生成迁移脚本:

www.yiiframework.com/extension/yii2-migration-utility/

资料来源:www.github.com/c006/yii2-migration-utility

我找到了一种从现有数据库表创建迁移的方法。首先通过 composer require bizley/migration 从这里安装此扩展。然后将以下代码复制到您的config/console.php

'controllerMap' => [
    'migration' => [
        'class' => 'bizley'migration'controllers'MigrationController',
    ],
],

然后在命令行中键入 php yii migration/update table_name 表示单个表或 php yii migration/create table_name1,table_name2,table_name3用于多表或php yii migration/create *用于所有表。

据我所知,Yii 2 中没有开箱即用的功能。否则,必须在文档和框架功能中对其进行说明。

而且,由于RDMS的多样性,实现它并非易事。您可以在 Github 上创建有关此的问题(但请检查在此之前是否已经存在类似的东西),但它不太可能获得高优先级。

我的做法是mysql转储一个sql文件,删除所有不必要的数据,并将其放入源代码中,再加上一些迁移文件,这样我们就可以获得系统的完整模式。