【发布时间】:2017-08-18 21:46:30
【问题描述】:
我在 Rails 4 中开发一个项目,以前我使用 sqlite3 作为数据库,我切换到 mysql 数据库并更改了 database.yml 文件中的所有配置。我在运行 rake db 时也成功完成了所有迁移:迁移。
i was succesfull in ruinning rake db:dump
sudo gem install mysql
rake db:create
the problem i am facing is while running rake db:schema:load
i am getting the following error while running the above command
ActiveRecord::StatementInvalid: Mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails: DROP TABLE `advance_salaries` CASCADE
/home/vh/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.21/lib/mysql2/client.rb:80:in `_query'
/home/vh/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.21/lib/mysql2/client.rb:80:in `block in query'
/home/vh/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.21/lib/mysql2/client.rb:79:in `handle_interrupt'
/home/vh/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.21/lib/mysql2/client.rb:79:in `query'
不知道为什么我会遇到这个问题。请帮助........!!!!!!
【问题讨论】:
-
回复对我来说非常紧急......所以请帮助......如果有人知道解决方案......
-
我所有的项目都停止工作了... :/
-
你能添加你的 schema.rb 吗?您是否尝试仅 rake db:migrate 而不是 schema:load?
-
yes....rake db:schema:load..........但显示同样的错误...!!!
-
create_table "advance_salaries", 强制: :cascade do |t| t.integer "employee_id" t.decimal "advance_amount",精度:15,比例:2 t.string "no_of_instalment" t.decimal "instalment_amount",精度:15,比例:2 t.date "advance_date" t.datetime" created_at", null: false t.datetime "updated_at", null: false t.integer "advance_type_id" t.decimal "interest", 精度: 15, scale: 2 end
标签: mysql ruby-on-rails ruby