我知道Yii framework 2.0迁移的概念。假设我们生成迁移源代码并运行命令,将根据源代码创建数据库表。是否可以基于现有数据库创建迁移源代码?使用源代码我不是指模型,控制器或CRUD类,而是指迁移源代码。它是某种逆向工程师。
答案 0 :(得分:9)
以下yii2扩展从现有的MySQL,MSSQL,PgSQL或SQLite数据库生成迁移脚本:
答案 1 :(得分:1)
我找到了一种从现有数据库表创建迁移的方法。首先通过 composer require bizley/migration
从 here 安装此扩展。然后将以下代码复制到您的 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 *
用于所有表。
答案 2 :(得分:0)
据我所知,在Yii 2中没有开箱即用的功能。否则它必须在文档和框架功能方面有所作为。
由于各种RDMS,实现起来并不是一件容易的事。您可以在Github上创建有关该问题的问题(但在此之前检查是否已存在类似内容),但不太可能获得高优先级。
答案 3 :(得分:0)
我的做法是mysqldump出一个sql文件,删除所有不必要的数据,并把它放在你的源代码中,加上一些迁移文件,这样我们就可以得到系统的完整模式。