Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何强制从模式中删除表?_Ruby On Rails_Database_Migration_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 如何强制从模式中删除表?

Ruby on rails 如何强制从模式中删除表?,ruby-on-rails,database,migration,ruby-on-rails-5,Ruby On Rails,Database,Migration,Ruby On Rails 5,我销毁了一个帐户模型,并执行了多步回滚以删除数据库中相应的帐户迁移。但是,当我执行rails db:reset时,会自动添加一个accounts表以及一个关于挂起迁移的注释: Dropped database 'db/development.sqlite3' Dropped database 'db/test.sqlite3' Created database 'db/development.sqlite3' Created database 'db/test.s

我销毁了一个帐户模型,并执行了多步回滚以删除数据库中相应的帐户迁移。但是,当我执行rails db:reset时,会自动添加一个accounts表以及一个关于挂起迁移的注释:

    Dropped database 'db/development.sqlite3'
    Dropped database 'db/test.sqlite3'
    Created database 'db/development.sqlite3'
    Created database 'db/test.sqlite3'
    -- create_table("accounts", {:force=>:cascade})
       -> 0.0131s
    -- create_table("accounts", {:force=>:cascade})
       -> 0.0084s

这里有我遗漏的东西吗?在删除/回滚/重置数据库之前,我删除了其他模型中的关联。

通过以下步骤解决(不完全确定此顺序为何有效):

  • Rake db:migrate:status查看是否存在与方案上的迁移编号相同的文件迁移
  • rakedb:migrate:down VERSION=[匹配无文件状态和模式];此操作失败,输出为版本号为XXXX的无迁移
  • Rails数据库:重置
  • Rake db:migrate:status(此时没有文件迁移不再在列表中)
  • Rails数据库:迁移:重置
  • Rails db:迁移,一切都恢复正常
    附加信息:模式维护帐户表。有些东西似乎卡住了,我不明白为什么。