Ruby on rails schema.rb已更新为挂起的迁移

Ruby on rails schema.rb已更新为挂起的迁移,ruby-on-rails,ruby,ruby-on-rails-3,rails-migrations,Ruby On Rails,Ruby,Ruby On Rails 3,Rails Migrations,我用迁移文件中提到的所有更改更新了schema.rb文件。但是,当我尝试设置数据库时 我收到一个错误,上面写着“您有30个挂起的迁移” 据我所知,如果不运行迁移,schema.rb不会得到更新 为了克服这个问题,我尝试执行rakedb:schema:load,然后尝试为数据库种子。即便如此,我还是收到了一条错误消息,上面说“您有30个挂起的迁移” 有人能帮我吗?你试过了吗 rake db:migrate ?迁移是管理对当前架构的更改的一种方法 如果您的模式已经与您想要的匹配,那么您可以放弃迁移

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

我收到一个错误,上面写着“您有30个挂起的迁移”

据我所知,如果不运行迁移,schema.rb不会得到更新

为了克服这个问题,我尝试执行rakedb:schema:load,然后尝试为数据库种子。即便如此,我还是收到了一条错误消息,上面说“您有30个挂起的迁移”

有人能帮我吗?

你试过了吗

rake db:migrate

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

如果您的模式已经与您想要的匹配,那么您可以放弃迁移,继续对数据库进行种子设定。当然,
rake db:seed
将首先尝试运行任何迁移,因此首先从文件夹中删除它们


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

是的,我这样做了。它向我抛出一个错误,说“xyz”列已经存在……这正是30个挂起迁移中的第一个所做的。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦您有足够的评论,您就可以发表评论。@MurthyUpadhyayula您的数据库中是否有双重内容?我以前也遇到过这个问题,我试图使我的迁移不会与我数据库中的任何东西发生冲突。@David谢谢先生,我只是试图帮助,因为我的声誉使我还不能对任何帖子发表评论,而且由于我的知识还没有达到描述答案的程度,我只是尝试帮助我所知道的,谢谢如果你说“双重事物”是指两个仓库,那么是的。我只是在两个repo中的公共gems使用的几个配置文件中有公共名称空间名称。我刚刚更改了名称空间名称,一切都开始工作了。在这一点上,我还要说,巴勒斯是对的。我们可以删除导致问题的迁移文件,然后运行安装程序。您可以稍后再提取它们(如果您的回购协议使用了某种SVC):)我同意您的方法。我的应用程序处于版本控制之下,如果我删除迁移文件,我将需要稍后拉取它们。这确实帮助我毫无问题地运行seeds脚本。但后来,我意识到了问题的根本原因:我正在当前和我克隆的另一个存储库中使用redis gem。在其他几个配置文件中更改名称空间名称帮助我完成了整个数据库设置过程,没有任何差异。谢谢你的回答,至少我学到了一些我不知道的东西