Ruby on rails Rails认为存在挂起的迁移

Ruby on rails Rails认为存在挂起的迁移,ruby-on-rails,database,database-migration,Ruby On Rails,Database,Database Migration,最近我处理了一个数据库问题,它阻止我运行rails应用程序。每当我的应用程序收到请求时,我都会收到以下错误: ActiveRecord::PendingMigrationError ( Migrations are pending. To resolve this issue, run: bin/rails db:migrate RAILS_ENV=development ): 我的迁移已经运行,但我还是尝试迁移来解决问题。当我这样做时,我得到了这个错误: PG::Duplica

最近我处理了一个数据库问题,它阻止我运行rails应用程序。每当我的应用程序收到请求时,我都会收到以下错误:

ActiveRecord::PendingMigrationError (

Migrations are pending. To resolve this issue, run:

    bin/rails db:migrate RAILS_ENV=development

):
我的迁移已经运行,但我还是尝试迁移来解决问题。当我这样做时,我得到了这个错误:

PG::DuplicateTable: ERROR:  relation "users" already exists
看起来Rails正在尝试运行已经运行的迁移!我试着检查迁移状态,看看这是否能解释这个问题。结果如下:

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20160927153148  ********** NO FILE **********
   up     20161004160131  ********** NO FILE **********
   up     20161005125752  ********** NO FILE **********
   up     20161011181504  ********** NO FILE **********
   up     20161014135001  ********** NO FILE **********
   up     20161014140631  ********** NO FILE **********
   up     20161014143818  ********** NO FILE **********
   up     20161014144342  ********** NO FILE **********
   up     20161014144530  ********** NO FILE **********
   up     20161014144742  ********** NO FILE **********
   up     20161014145130  ********** NO FILE **********
   up     20161014164935  ********** NO FILE **********
   up     20161014164936  ********** NO FILE **********
   up     20161014201553  ********** NO FILE **********
   up     20161017190913  ********** NO FILE **********
   up     20161018131458  ********** NO FILE **********
   up     20161018180142  ********** NO FILE **********
   up     20161020182715  ********** NO FILE **********
   up     20161023171522  ********** NO FILE **********
   up     20161027202306  ********** NO FILE **********
   up     20161107160642  ********** NO FILE **********
   up     20161107185720  ********** NO FILE **********
   up     20161108204903  ********** NO FILE **********
   up     20161115174824  ********** NO FILE **********
   up     20161121201101  ********** NO FILE **********
   up     20161122205308  ********** NO FILE **********
   up     20170208132901  ********** NO FILE **********
   up     20170208183331  ********** NO FILE **********
   up     20170209204508  ********** NO FILE **********
   up     20170220164639  ********** NO FILE **********
   up     20170301174731  ********** NO FILE **********
   up     20170302174721  ********** NO FILE **********
  down    20170913142804  Create users
  down    20170913153749  Add devise to users
  down    20170913182252  Create clients
  down    20170913183734  Create addresses
  down    20170919131420  Update user table
  down    20170919150013  Split address type
  down    20170919151010  Remove auth tier from user
  down    20170919170757  Remove requirement from extended
  down    20170921135056  Create client configurations
  down    20170922145446  Drop zips
  down    20170924220818  Create groups
  down    20170924232318  Create permissions
  down    20170926132737  Create overrides
  down    20171003185617  Create client groups
  down    20171003201301  Update address table
  down    20171003202611  Create locations
  down    20171004143859  Create clients users
  down    20171005161331  Add avatar to users
  down    20171005163530  Create sites
  down    20171107191612  Add deleted at to tables
  down    20171110205840  Add is public to sites
  down    20171115190716  Add superuser to users
  down    20171117153515  Create versions
  down    20171117153516  Add object changes to versions
  down    20171211154208  Create roles
  down    20171211154807  Add roles to users
  down    20171211161939  Remove superuser from users
  down    20171211163226  Add descriptions to roles
  down    20171211190243  Rename scope on roles
  down    20171218173758  Devise invitable add to users
  down    20171218192514  Add invitation domain to users
正如您在这里看到的,似乎有许多迁移丢失了它们的文件。我不记得删除过任何迁移,当然也没有这么多!此外,我们还看到所有可识别的迁移,包括带有文件的迁移,都没有运行。这几乎就好像迁移都被重命名了,保留了它们的更改,而它们本身似乎没有运行,但同样,没有发生这样的事件

到目前为止,我已经受够了这个问题。鉴于数据库中的数据大部分来自种子文件,我决定擦除它,然后重新开始:

rails db:drop
rails db:create
rails db:migrate

但是,我在运行db:migrate时遇到了相同的问题。事实上,似乎什么都没有改变。救命啊

您的
数据库。yml
似乎指向不同Rails应用程序的数据库,这就是为什么您会看到一组完全不相关的迁移时间戳,状态为
up

您的
数据库。yml
似乎指向不同Rails应用程序的数据库,这就是为什么你会看到一组完全不相关的迁移时间戳,状态为
up
的原因。

你能发布数据库删除、创建和迁移的输出吗?请,我想看看是否有任何线索表明发生了什么,因为它发生在一个新的数据库上!您是否尝试重新启动rails服务器?如果您确定没有更改任何文件,并且这些文件以不同方式打印,您可以备份数据库,然后将其删除(rake db:drop)。然后重新创建它并将数据转储回。我不知何故觉得这个项目的
数据库.yml
指向另一个Rails应用程序的数据库。如果
schema.rb
看起来正确,并且您的数据库看起来正确,那么您可以删除迁移并转到更有趣的事情。您可以发布数据库删除的输出吗,创建和迁移请,我想看看是否有任何线索在那里发生了什么,因为它是在一个新的数据库上发生的!您是否尝试重新启动rails服务器?如果您确定没有更改任何文件,并且这些文件以不同方式打印,您可以备份数据库,然后将其删除(rake db:drop)。然后重新创建它并将数据转储回。我不知何故觉得这个项目的
数据库.yml
指向另一个Rails应用程序的数据库。如果
schema.rb
看起来正确,并且您的数据库看起来正确,那么您可以删除迁移并转到更有趣的事情。