Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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
Mysql 由于挂起的迁移错误,本地主机启动失败_Mysql_Ruby On Rails - Fatal编程技术网

Mysql 由于挂起的迁移错误,本地主机启动失败

Mysql 由于挂起的迁移错误,本地主机启动失败,mysql,ruby-on-rails,Mysql,Ruby On Rails,问题:我无法在本地系统中启动我们正在开发的网站的本地主机。所以我可以使用它并编写自动测试。早些时候它曾经起作用 我通常在通过Github应用程序获取开发分支的源代码后运行这些命令 捆绑安装 rake数据库:迁移 铁轨 现在,rake db:migrate不起作用,这给了我一个错误 Macs-iMac:mac$bin/rails-db:migrate-rails\u-ENV=development ==20180619223217 CreateCarts:正在迁移=================

问题:我无法在本地系统中启动我们正在开发的网站的本地主机。所以我可以使用它并编写自动测试。早些时候它曾经起作用

我通常在通过Github应用程序获取开发分支的源代码后运行这些命令

  • 捆绑安装
  • rake数据库:迁移
  • 铁轨
  • 现在,rake db:migrate不起作用,这给了我一个错误

    Macs-iMac:mac$bin/rails-db:migrate-rails\u-ENV=development

    ==20180619223217 CreateCarts:正在迁移======================================

    --创建表格(:购物车)

    rails中止了

    StandardError:发生错误,所有后续迁移均已取消:

    Mysql2::错误:表“carts”已存在:创建表
    carts
    id
    bigint NOT NULL自动递增主键,
    user\u id
    int,
    日期时间不为空时创建,
    日期时间不为空时更新) 引擎=InnoDB

    /Users/mac/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in `_查询'

    /Users/mac/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in `查询中的块'

    /Users/mac/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.10/lib/mysql2/client.rb:119:in `处理中断'

    /Users/mac/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.10/lib/mysql2/client.rb:119:in `查询'

    。。很多这样的台词

    有很多桌子,至少有8张像“手推车”这样的桌子已经存在了

    已完成以下故障排除

  • 我试着做rake-db:reset/rails-db:reset——它给了我类似“您试图运行破坏性操作”的错误
  • 在Sequelpro上为dev表导入新数据,然后运行rake db:migrate
  • 这三个命令都不起作用,同样的“破坏性动作”错误。rails db:drop,rails db:schema:load,rails db:reset
  • 我进入db/migrate文件夹,在创建这8个问题表的行中添加了注释。 这似乎可行,可以启动应用程序,但应用程序中的某些菜单显然不起作用

    在我几个月前创建的不同功能分支中切换我在系统中使用的应用程序的旧版本是可行的


    我如何解决这个问题?然后启动应用程序:)

    使用(1)中的
    rails db:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1
    它删除并创建除这8个表之外的所有表/最后列出了这8个挂起的迁移。您可以检查以前是否有任何迁移创建了“carts”表,现在您可以再次创建它,这将导致此迁移错误以前没有创建“carts”表的实例。我在migrate文件夹中发现只有两个“createtable”导致了这个问题。在对create tables的def..end之间的行进行了几次注释和取消注释后,迁移暂时结束。问题表应该被跳过。当您尝试
    rails db:drop
    时,会出现什么错误?你有没有试过用谷歌搜索那个错误信息,看看其他人是如何克服它的?