所以这是我第一个真正的Ruby on Rails项目。我已经吸取了教训 - 我没有使用迁移进行所有更改,因此事情有点混乱。
重新开始使用新的迁移文件并重建架构等的最佳方法是什么?我的项目太重要了,无法重建整个项目,但距离我到目前为止失去迁移的地方还不够远。我也不介意丢失数据库中的数据。我试图回滚到开头,但有些失败了。
我知道这是一个糟糕的状态,但是吸取了教训。
修改 我刚刚删除了所有迁移文件,并使用db:schema:dump重建了模式文件。 我认为这使我处于一个干净的状态与我现有的数据库,只是失去了迁移。
答案 0 :(得分:9)
如果您想迁移一些步骤,可以
rake db:rollback STEP=2
该命令将迁移您的数据库2迁移。 如果您需要有关rake命令的更多帮助,请输入jus
rake -T
该命令将列出您在应用程序中的所有任务。
答案 1 :(得分:7)
如果您不担心丢失数据,请执行
rake db:purge
它应该删除你的数据库
答案 2 :(得分:5)
您的schema.rb
文件应包含数据库中的实际架构。您可以将其用作创建迁移的起点。您可以使用:force => true
参数为每个表创建一个新的迁移,以覆盖旧表。之后您可以删除旧的迁移(您可能还需要从schema_migrations表中删除它们的条目)。
另一个选择是更新旧的迁移以匹配您当前的架构。