mysql - 由于挂起的迁移错误,本地主机启动失败
问题描述
问题:我无法在本地系统中启动我们正在开发的网站的 localhost。所以我可以玩它并编写自动化测试。早些时候它曾经工作过。
我通常在通过 Github 应用程序获取开发分支之后运行的命令
- 捆绑安装
- 耙分贝:迁移
- 导轨
现在,rake db:migrate 不工作,给我一个错误
Macs-iMac:mac$ bin/rails db:migrate RAILS_ENV=development
== 20180619223217 CreateCarts:迁移 =====================================
-- create_table(:carts)
导轨中止!
标准错误:发生错误,所有以后的迁移都取消了:
Mysql2::Error: 表'carts'已经存在: CREATE TABLE
carts
(id
bigint NOT NULL AUTO_INCREMENT PRIMARY KEY,user_id
int,created_at
datetime NOT NULL,updated_at
datetime 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 张像“购物车”一样已经存在。
已完成以下故障排除。
- 我试图做 rake db:reset / rails db:reset - 它给了我类似“你正在尝试执行破坏性操作”的错误
- 为 Sequelpro 上的 dev 表导入新数据,然后运行 rake db:migrate
- 这三个命令都不起作用,同样的“破坏性动作”错误。rails db:drop, rails db:schema:load, rails db:reset
我进入 db/migrate 文件夹,并在注释中添加了创建这 8 个问题表的行。这似乎可行,能够启动应用程序,但显然应用程序中的某些菜单不起作用。
在我几个月前创建的不同功能分支中切换我在系统中拥有的旧版本的应用程序是有效的。
我该如何解决这个问题?并继续启动应用程序:)
解决方案
rails db:reset DISABLE_DATABASE_ENVIRONMENT_CHECK=1
在 (1) 中使用
推荐阅读
- json - 如何从 JSON 获取多个 id 并将其传递给 jmeter 中的下一个请求
- java - ExoPlayer,MediaSource 创建的视频播放器不播放从 URL 中提取的视频
- python - 如何在 pandas 中有效地合并数据?
- html - 使表头随页面滚动
- wpf - 多次绑定后WPF单选按钮不更新
- css - 当工具栏组件不在页面顶部时隐藏它
- javascript - 如何检查两个对象数组是否不同,而不考虑顺序?
- r - 如何计算数据集中事件之间的天数
- java - 如何从java中的json中的json中提取字符串
- makefile - cmake:进入链接阶段时找不到共享库