繁体   English   中英

Yii Framework 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上创建关于此的问题(但请检查在此之前是否已经存在类似的东西),但它不太可能获得高优先级。

我的做法是mysqldump出一个sql文件,去掉所有不需要的数据,放到你的源代码中,加上一些迁移文件,这样我们就可以得到系统的完整架构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM