我的schema.rb文件已更新,其中包含我在迁移文件中提到的所有更改。但是,当我尝试设置我的数据库时,
我收到错误消息“您有30个待定迁移”。
据我所知,如果没有运行迁移,schema.rb不会更新。
为了克服这个问题,我尝试做一个rake db:schema:load然后尝试为数据库设定种子。即便如此,我收到一条错误消息“您有30个待定迁移”。
有人可以帮助我吗?
答案 0 :(得分:2)
迁移是一种管理更改到当前架构的方法。
如果您的架构已经符合您的要求,您可以抛弃迁移并继续播种数据库。当然,rake db:seed
将首先尝试运行任何迁移,因此请先从文件夹中删除它们。
Rails创建一个名为migrations
的表,并实际记录已在该数据库上运行的迁移的ID。如果您要将应用程序部署到新的数据库实例,并且已经在其上运行rake db:schema:load
,则其migrations
表将为空,并且只要有人调用migrate
,您就会遇到问题,除非你摆脱了你不需要的迁移文件。
答案 1 :(得分:0)
你试过吗
rake db:migrate