Rails迁移生成

时间:2013-12-02 03:03:36

标签: ruby-on-rails postgresql ruby-on-rails-4

如果使用rails g migration制作了大量迁移文件,如何管理?

例如,如果我有一个文件为某个表生成一个列,我就有了这个,但是后来我再次想要删除它。由于架构决策,这种类型的添加和删除已经重复了很多次。

我不喜欢我为every列(列)实例添加的迁移文件创建的方式,我想清理所有迁移文件,因此它们非常简单。

我了解迁移记录时带有匹配文件名的时间戳,并在表中检查它们是否已经迁移。我认为我可以删除有问题的特定行,并在删除不需要的列后删除与文件匹配的相同内容。

这是最好的方式还是有更好的例子?

1 个答案:

答案 0 :(得分:0)

可以摆脱迁移以降低复杂性并确保事情不会“不同步”。

最简单的方法是生成一个新的空白迁移文件。复制schema.rb的内容,然后删除所有早期迁移。

显然,您需要确保使用版本控制(例如Git)并确保数据库具有备份,以便您可以还原任何问题。

我在这里写了一篇关于这个主题的博客文章http://www.fmhcc.com.au/ruby/database-migrations-in-rails-and-when-to-start-from-scratch/