Rails:我修改了我的迁移文件(坏,我知道)



我最近开始使用Rails,并使用CLI创建了一些模型,这些模型又创建了一些迁移。

我在其中添加了所有列后运行了rake db:migrate命令,然后意识到我遗漏了关联。

我做了什么?我继续编辑迁移以包含这些键。

我再次运行rake db:migrate,模式中没有任何变化。

然后我运行rake db:resetrake db:setup

当这不起作用时,我删除了我的schema.rb(该死的东西不会更新!)并尝试重新创建它。当我意识到这不起作用时,我删除了数据库,并终止了模式。

现在我被一些手动修改的迁移卡住了,没有schema.rb,没有数据库。

我如何得到修改后的迁移,以生成一个模式,并发挥良好的Rails?

开发中,删除并重建数据库无关紧要。我经常这样做,我甚至有一个rake任务。链接的3个命令是:

rake db:drop
rake db:create
rake db:migrate
# And a 4rth optional command to rebuild your test database
rake db:test:prepare

有了这个你应该很好

下次在迁移后需要手工修改时,您应该通过:

  1. rake db:rollback
  2. 编辑迁移
  3. rake db:migrate

遵循这些步骤将为您省去一些麻烦


附加信息:

在将迁移部署到生产服务器之后,您不能手动修改它,因此您必须编写另一个迁移来执行修改(添加列等…)

相关内容

最新更新