2014-07-15 52 views
1

我最近开始使用Rails,并使用CLI创建了一些模型,然后创建了一些迁移。Rails:我修改了我的迁移文件(不好,我知道)

我在那里添加了所有的列后,运行了rake db:migrate命令,然后意识到我已经排除了关联。

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

我再次运行rake db:migrate,并且架构中没有任何更改。

然后我跑rake db:reset然后rake db:setup

当这没有奏效时,我删除了我的schema.rb(该补丁的东西不会更新!)并尝试recreating it。当我意识到这种方式无效时,我放弃了数据库并杀死了模式。

现在我遇到了一些手动修改的迁移,没有schema.rb,也没有数据库。

如何获得修改过的迁移以生成模式,并与Rails玩好?

回答

4

开发它没关系,删除和重建您的数据库。我经常这样做,我甚至有一个耙子任务。 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

经过这些步骤将节省您的一些头疼


奖金信息:在您部署迁移到您的生产服务器,你不能手动修改它,因此你必须写另一个

迁移,将执行修改(添加列等...)

+0

工作!谢谢 :) – FloatingRock

相关问题