[英]Yii Framework 2.0 Migration with existing database
我知道 Yii 框架 2.0 迁移的概念。 假设我们生成迁移源代码并运行命令,将根据源代码创建数据库表。 是否可以基于现有数据库创建迁移源代码? 对于源代码,我不是指模型、控制器或 CRUD 类,而是指迁移源代码。 这是某种逆向工程师。
以下 yii2 扩展从现有的 MySQL、MSSQL、PgSQL 或 SQLite 数据库生成迁移脚本:
我找到了一种从现有数据库表创建迁移的方法。首先通过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上创建关于此的问题(但请检查在此之前是否已经存在类似的东西),但它不太可能获得高优先级。
我的做法是mysqldump出一个sql文件,去掉所有不需要的数据,放到你的源代码中,加上一些迁移文件,这样我们就可以得到系统的完整架构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.