在处理项目时,我会在记事本文件中记录对数据库所做的所有更改。然后,稍后,我手动将所有更改写入 rails 的数据库迁移文件中。
但应该可以将我的数据库备份的模式与我的数据库的新版本进行比较,并自动检测差异。并自动生成rails db迁移文件。
是否有工具可以比较两个数据库模式并自动生成 Rails 的数据库迁移文件?
最佳答案
据我所知,没有工具可以自动执行此操作,但是,您只需使用带有源代码控制的 rake db:schema:dump
即可完成大部分工作。
创建一个新的 Rails 项目并执行以下操作:
- 更新 database.yml 以连接到您的第一个数据库。
- 使用
rake db:schema:dump
填充schema.rb
并将schema.rb
提交到 git。 - 更新 database.yml 以连接到您的第二个数据库并再次运行
rake db:schema:dump
- 在
schema.rb
上使用git diff
比较变化。这可以很容易地映射到迁移。
使用源代码控制的好处是,在迁移运行到第二个数据库的架构转储后,您可以通过比较 schema.rb
来测试迁移。
关于ruby-on-rails - Rails db migrate 生成迁移文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36689842/