1

是否可以使用 Rails 根据自上次迁移以来在 Rails 之外的数据库中发生的更改自动生成迁移?

我知道运行 db:migrate 将更改 schema.rb 以匹配数据库中的内容....(至少如果不进行任何迁移但我确实以某种方式手动更改了数据库)。我想知道的是,是否有一种方法可以作为同一机制或流程的一部分,让它从这些更改中创建迁移。

非常感谢!

4

1 回答 1

0

我不认为这是 Rails 会做或试图解决的事情。Rails 希望您通过迁移显式管理这些更改,以便您的数据库受到控制(和源代码控制)。

看看这颗宝石是不是你想要的。- https://github.com/pjhyett/auto_migrations

它可能不适用于 Rails 3。我认为由于您直接编辑数据库,因此您必须运行rake db:schema:dump以更新 schema.rb 文件。

如果您想捕获不同数据库更改点之间的增量,请查看此 SO 答案: 如何从 MYSQL 数据库实例自动生成 Rails 迁移类?,沿途重复他的步骤。

于 2013-02-21T15:28:34.420 回答