除了手动拆分 schema.rb 之外,还有一种方法可以将rails db migration files合并到每个表的1个文件中吗?
我的大多数迁移文件都是在开发期间创建的,并不代表实际的数据更改。由于历史原因,这些文件仍可在源代码管理系统上访问。保留那些不必要的文件我感到很不舒服。
答案 0 :(得分:13)
嗯,我可以想象你想要一个干净的开始。在您的第一个版本的项目开发模式中,您不希望所有单独的迁移文件。虽然他们不能明显受伤。
基本上你可以做的就是这个。
首先备份您的架构和数据。
db / schema.rb包含(或应包含)最新版本的架构。否则运行:
rake db:schema:dump
现在您可以清理迁移文件夹了。
然后运行:
rake db:drop
rake db:schema:load
最后一个命令运行db / schema.rb并创建新架构。这应该会带您进入数据库的最新版本。
显示数据库任务
rake -T db
答案 1 :(得分:1)
您可以使用Squasher gem将所有旧版本的迁移合并为一个。
答案 2 :(得分:-6)