撤消“db:migrate”后,是否需要撤消“rails generate scaffold”?

时间:2014-04-24 20:14:30

标签: ruby-on-rails ruby ruby-on-rails-4 rake

我是RoR的新手,而且我正在关注Michael Hartl的教程(所以请随意纠正我在您认为合适的地方使用的术语)。在第2章中,我通过运行以下行创建了一个Users表:

$ rails generate scaffold User name:string email:string
$ bundle exec rake db:migrate

然后,我运行下面的代码尝试创建一个Microposts表(但是,我拼错了Micropost没有' r'!)...

$ rails generate scaffold Miropost content:string user_id:integer
$ bundle exec rake db:migrate

现在我要删除我创建的Miropost表。在stackoverflow.com中搜索后,我了解到我可以通过运行rake db:migrate:reset撤消数据库迁移(即db:migrate)。我的问题是我需要撤消" rails生成脚手架"太?什么时候支架不再存在?

1 个答案:

答案 0 :(得分:11)

首先,您需要从db回滚更改。 假设为Miropost生成的迁移是db中的最新迁移。

跑步

rake db:rollback ## This will drop the table miroposts

此后通过以下方式破坏现有脚手架:

rails destroy scaffold Miropost content:string user_id:integer

然后你需要做的就是用正确的拼写重新创建脚手架并运行rake db:migrate