首页 > 解决方案 > 由于挂起的迁移错误,本地主机启动失败

问题描述

问题:我无法在本地系统中启动我们正在开发的网站的 localhost。所以我可以玩它并编写自动化测试。早些时候它曾经工作过。

我通常在通过 Github 应用程序获取开发分支之后运行的命令

  1. 捆绑安装
  2. 耙分贝:迁移
  3. 导轨

现在,rake db:migrate 不工作,给我一个错误

Macs-iMac:mac$ bin/rails db:migrate RAILS_ENV=development

== 20180619223217 CreateCarts:迁移 =====================================

-- create_table(:carts)

导轨中止!

标准错误:发生错误,所有以后的迁移都取消了:

Mysql2::Error: 表'carts'已经存在: CREATE TABLE carts ( idbigint NOT NULL AUTO_INCREMENT PRIMARY KEY, user_idint, created_atdatetime NOT NULL, updated_atdatetime NOT NULL) ENGINE=InnoDB

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

/Users/mac/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in `block in query'

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

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

..很多这样的行..

它说有很多桌子,其中至少有 8 张像“购物车”一样已经存在。

已完成以下故障排除。

  1. 我试图做 rake db:reset / rails db:reset - 它给了我类似“你正在尝试执行破坏性操作”的错误
  2. 为 Sequelpro 上的 dev 表导入新数据,然后运行 ​​rake db:migrate
  3. 这三个命令都不起作用,同样的“破坏性动作”错误。rails db:drop, rails db:schema:load, rails db:reset

我进入 db/migrate 文件夹,并在注释中添加了创建这 8 个问题表的行。这似乎可行,能够启动应用程序,但显然应用程序中的某些菜单不起作用。

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

我该如何解决这个问题?并继续启动应用程序:)

标签: mysqlruby-on-rails

解决方案


rails db:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1在 (1) 中使用


推荐阅读