Yii Framework 2.0使用现有数据库进行迁移

时间:2015-01-12 15:54:23

标签: php database migration reverse-engineering yii2

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

4 个答案:

答案 0 :(得分:9)

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

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

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

答案 1 :(得分:1)

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

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

然后在您的命令行中为单个表输入 php yii migration/update table_namephp yii migration/create table_name1,table_name2,table_name3 用于多表或 php yii migration/create * 用于所有表。

答案 2 :(得分:0)

据我所知,在Yii 2中没有开箱即用的功能。否则它必须在文档和框架功能方面有所作为。

由于各种RDMS,实现起来并不是一件容易的事。您可以在Github上创建有关该问题的问题(但在此之前检查是否已存在类似内容),但不太可能获得高优先级。

答案 3 :(得分:0)

我的做法是mysqldump出一个sql文件,删除所有不必要的数据,并把它放在你的源代码中,加上一些迁移文件,这样我们就可以得到系统的完整模式。