解决方法
您不需要在Rails应用程序中保留旧的迁移文件,因为您的数据库模式应该在schema.rb或可用于重新生成模式的等效sql文件中捕获.
迁移不是数据库模式的权威来源.该角色属于db / schema.rb或Active Record通过检查数据库生成的sql文件.它们不是设计为编辑的,它们只是表示数据库的当前状态.
通过重播整个迁移历史记录来部署应用程序的新实例不需要(也容易出错).将数据库加载到schema.rb或sql文件中的当前模式的描述要简单得多,速度更快.
该文件应该进行版本控制并保存在源代码管理中.
要设置自动schema.rb生成,请通过config.active_record.schema_format设置修改config / application.rb,可能是:ruby或:sql.如果:选择ruby,则模式存储在db / schema.rb中.如果:sql被选择,则该模式将以本机sql格式转储你的数据库.