如果使用rails g migration
制作了大量迁移文件,如何管理?
例如,如果我有一个文件为某个表生成一个列,我就有了这个,但是后来我再次想要删除它。由于架构决策,这种类型的添加和删除已经重复了很多次。
我不喜欢我为every
列(列)实例添加的迁移文件创建的方式,我想清理所有迁移文件,因此它们非常简单。
我了解迁移记录时带有匹配文件名的时间戳,并在表中检查它们是否已经迁移。我认为我可以删除有问题的特定行,并在删除不需要的列后删除与文件匹配的相同内容。
这是最好的方式还是有更好的例子?
答案 0 :(得分:0)
可以摆脱迁移以降低复杂性并确保事情不会“不同步”。
最简单的方法是生成一个新的空白迁移文件。复制schema.rb
的内容,然后删除所有早期迁移。
显然,您需要确保使用版本控制(例如Git)并确保数据库具有备份,以便您可以还原任何问题。
我在这里写了一篇关于这个主题的博客文章http://www.fmhcc.com.au/ruby/database-migrations-in-rails-and-when-to-start-from-scratch/