1

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

我收到一条错误消息,提示“您有 30 个待定迁移”。

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

为了克服这个问题,我尝试执行 rake db:schema:load,然后尝试为数据库播种。即便如此,我还是收到一条错误消息,上面写着“您有 30 个待定迁移”。

有人能帮我吗?

4

2 回答 2

3

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

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

Rails 创建一个名为migrations并实际记录已在该数据库上运行的迁移的 ID 的表。如果您将应用程序部署到新的数据库实例并rake db:schema:load在其上运行,那么它的migrations表将是空的,并且每当调用某些东西时您都会遇到问题migrate,除非您摆脱了不需要的迁移文件。

于 2013-02-20T07:11:20.320 回答
0

你有没有尝试过

rake db:migrate

?

于 2013-02-20T06:23:04.937 回答