schema.rb使用挂起的迁移进行了更新

时间:2013-02-20 05:41:07

标签: ruby-on-rails ruby ruby-on-rails-3 rails-migrations

我的schema.rb文件已更新,其中包含我在迁移文件中提到的所有更改。但是,当我尝试设置我的数据库时,

我收到错误消息“您有30个待定迁移”。

据我所知,如果没有运行迁移,schema.rb不会更新。

为了克服这个问题,我尝试做一个rake db:schema:load然后尝试为数据库设定种子。即便如此,我收到一条错误消息“您有30个待定迁移”。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

迁移是一种管理更改到当前架构的方法。

如果您的架构已经符合您的要求,您可以抛弃迁移并继续播种数据库。当然,rake db:seed将首先尝试运行任何迁移,因此请先从文件夹中删除它们。

Rails创建一个名为migrations的表,并实际记录已在该数据库上运行的迁移的ID。如果您要将应用程序部署到新的数据库实例,并且已经在其上运行rake db:schema:load,则其migrations表将为空,并且只要有人调用migrate,您就会遇到问题,除非你摆脱了你不需要的迁移文件。

答案 1 :(得分:0)

你试过吗

rake db:migrate