“扁平化”Rails迁移的方法?

我正在努力部署我的第一个Rails应用程序,在此过程中的某个地方,我拙劣地进行了迁移。 当我尝试将我的应用程序推送到生产服务器并运行rake db:migrate ,它会因某个错误而失败。

现在,我懒得单独完成我的迁移工作以找出问题所在,所以我试图避免这样做。 鉴于我当前的开发数据库运行良好,有没有办法将当前架构“扁平化”为单一,全面的迁移?

我知道这很草率,我知道我可能做了一个愚蠢的事情,首先打破了迁移链。 (我可能直接在某个地方编辑了数据库模式,我现在明白这是禁止的。)这是一个非常小的项目,我基本上是唯一的开发人员,所以我很舒服在地毯下扫描这个问题如果可能的话。

有没有办法做到这一点?

感谢您提供专业知识。

这是db/schema.rb文件的用途。 如果您只在迁移中进行了结构更改,那么您将能够运行rake db:schema:load而不是运行rake db:migrate来获取表的绝对结构。

如果您直接编辑了架构,则需要运行:

 rake db:schema:dump 

这将采用数据库中的任何内容并创建schema.rb文件。 然后你可以随时运行rake db:schema:load。 但是,这意味着您的迁移仍然很糟糕。 您可以删除所有这些并从schema.rb文件重新创建它们。