Ruby on rails - Shoudn't rake db:migrate version=0 删除在我的迁移中创建的所有表?



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

为什么?

不要从头到尾测试您的迁移。迁移只是为了将更改应用到数据库中,而不是为了从头开始构建数据库——这就是schema.rb的作用。

要从头构建数据库,请使用rake db:schema:load,它将从schema.rb构建数据库。

事实上,对于迁移,有些人甚至会删除旧的迁移,并且已经在他们需要运行的任何地方运行。真的,没必要把他们留在身边。

一次运行的迁移越多,出现问题的可能性就越大。别费心去尝试了,那是徒劳的。你永远不需要这样做。

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

最新更新