Rails db migrate生成迁移文件

时间:2016-04-18 09:15:09

标签: ruby-on-rails

在处理项目时,我会记录我在记事本文件中对数据库所做的所有更改。然后,稍后,我手动编写rails的db迁移文件中的所有更改。

但是应该可以将我的数据库备份的模式与我的数据库的新版本进行比较,并自动检测差异。并自动生成rails db migration文件。

是否有可以比较两个数据库模式并自动生成rails的db迁移文件的工具?

1 个答案:

答案 0 :(得分:2)

据我所知,没有工具可以自动执行,但是,只需使用带有源代码管理的rake db:schema:dump就可以获得大部分工具。

创建一个新的Rails项目并执行以下操作:

  1. 更新database.yml以连接到您的第一个数据库。
  2. 使用rake db:schema:dump填充schema.rb并将schema.rb提交给git。
  3. 更新database.yml以连接到您的第二个数据库,然后再次运行rake db:schema:dump
  4. git diff上使用schema.rb来比较更改。这很容易映射到迁移。
  5. 使用源代码管理的好处是,您可以通过将迁移运行后的schema.rb与第二个数据库的架构转储进行比较来测试迁移。