我使用迁移文件中提到的所有更改更新了我的schema.rb文件。但是,当我尝试设置数据库时,
我收到一个错误,说“您有30个待处理的迁移”。
据我所知,如果不运行迁移,schema.rb不会更新。
为了克服这个问题,我尝试执行rake db:schema:load,然后尝试为数据库设定种子。即使这样,我还是收到一条错误消息,说“您有30个待处理的迁移”。
有人能帮我吗?
发布于 2013-02-20 15:11:20
迁移是管理对当前架构的更改的一种方式。
如果您的模式已经与您想要的匹配,那么您可以丢弃迁移,然后继续为您的数据库设定种子。当然,rake db:seed将首先尝试运行任何迁移,因此请先从文件夹中删除它们。
Rails创建一个名为migrations的表,并实际记录在该数据库上运行的迁移的ID。如果你正在将你的应用程序部署到一个新的数据库实例上,并且已经在它上面运行了rake db:schema:load,那么它的migrations表将是空的,并且只要有东西调用migrate,你就会遇到问题,除非你删除了不需要的迁移文件。
发布于 2013-02-20 14:23:05
你试过了吗?
rake db:migratehttps://stackoverflow.com/questions/14973028
复制相似问题