且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从Yii或Laravel中的现有数据库生成迁移

更新时间:2023-12-01 09:13:46




  1. 将您的数据库连接设置添加到 protected / config / console.php p>


  2. 执行 yiic migrate create initial 以创建迁移的存根代码。


  3. 此要点的内容复制到 protected / commands / InitialDbMigrationCommand.php


  4. 执行 yiic initialdbmigration'name_of_your_database' initial_migration.php 生成 up() down()


  5. 复制并粘贴 up() code>方法从 initial_migration.php 到在 protected / migrations 文件夹中创建的文件。



I'm working on a project that has a fairly complex database (150+ tables). In order to be able to maintain changes, I've decided to add migrations, preferably using Yii or Laravel.

Does anybody know, if it is possible to generate a initial migration from an existing database?

Creating it by hand would:

  • take for ever and
  • be very error-prone.

If there is no way, does anybody know a good PHP-based framework, that supports such functionality?

Instructions for accomplishing this in Yii:

  1. Add your database connection settings to protected/config/console.php.

  2. Run yiic migrate create initial to create the stub code for the migration.

  3. Copy contents of this gist to protected/commands/InitialDbMigrationCommand.php.

  4. Run yiic initialdbmigration 'name_of_your_database' > initial_migration.php to generate up() and down() methods for initial database migration.

  5. Copy and paste up() and down() methods from initial_migration.php to the file created in the protected/migrations folder in step 2.