我试图测试从版本=0到最后一个版本的迁移,但是当我运行rake db:migrate version=0
时,它没有删除任何表。
为什么?
不要从头到尾测试您的迁移。迁移只是为了将更改应用到数据库中,而不是为了从头开始构建数据库——这就是schema.rb
的作用。
要从头构建数据库,请使用rake db:schema:load
,它将从schema.rb
构建数据库。
事实上,对于迁移,有些人甚至会删除旧的迁移,并且已经在他们需要运行的任何地方运行。真的,没必要把他们留在身边。
一次运行的迁移越多,出现问题的可能性就越大。别费心去尝试了,那是徒劳的。你永远不需要这样做。
您可以尝试使用$ bundle exec rake db:rollback来卸载前一个表。