合并db / migration文件

时间:2011-11-10 21:35:46

标签: ruby-on-rails ruby-on-rails-3

除了手动拆分 schema.rb 之外,还有一种方法可以将rails db migration files合并到每个表的1个文件中吗?

我的大多数迁移文件都是在开发期间创建的,并不代表实际的数据更改。由于历史原因,这些文件仍可在源代码管理系统上访问。保留那些不必要的文件我感到很不舒服。

3 个答案:

答案 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)

不要打扰。旧的迁移文件没有任何损害,它们可以使维护更容易。保持原样。