Shoud not rake db:migrate version = 0删除在我的迁移中创建的所有表?

时间:2015-06-04 00:15:04

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

我正在尝试测试从version = 0到最后一个版本的迁移,但是当我运行rake db:migrate version=0时,它不会删除任何表。

为什么?

2 个答案:

答案 0 :(得分:3)

不要一直测试您的迁移。迁移仅用于对数据库应用更改,而不是从头开始构建 - 这是schema.rb的用途。

要从头开始重建数据库,请使用rake db:schema:load,这将从schema.rb构建您的数据库。

事实上,对于迁移,有些人甚至会删除旧的迁移并且已经运行到他们需要运行的所有地方。真的,没有必要留下它们。

您必须一次运行的迁移越多,您就越有可能遇到问题。不要费心去尝试,这是徒劳的。你永远不需要这样做。

答案 1 :(得分:0)

您可以尝试使用$ bundle exec rake db:rollback来卸载上一个表。