“扁平化”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文件重新创建它们。