我試圖種子我的MySQL數據庫我的Rails項目我的Heroku的服務器上,我得到這個錯誤:的Rails +的Heroku:外鍵約束失敗
ActiveRecord::InvalidForeignKey: Mysql2::Error: Cannot add or update a child row: a foreign key constraint fails (
heroku_b08bb4ad8dfb726
.posts
, CONSTRAINTfk_rails_5b5ddfd518
FOREIGN KEY (user_id
) REFERENCESusers
(id
)): INSERT INTOposts
(id
,title
,description
,user_id
,category_id
,created_at
,updated_at
) VALUES (1, 'Title', 'Desc', 1, 1, '2016-08-29 06:53:04', '2016-08-29 06:53:04')
出人意料的是,我沒有得到這個錯誤在我的開發環境。
我種子文件提取物看起來是這樣的:
# Creating Users here
Category.create!([
{ id: 1, name: "Category"},
])
Post.create!([
{ id: 1, title: "Title", description: "Desc", user_id: "1", category_id: "1" },
])
Post模型:
class Post < ApplicationRecord
belongs_to :user
belongs_to :category
has_many :comments
validates :title, :description, presence: true
end
分類模型:
class Category < ApplicationRecord
has_many :posts
end
如果您在評論中需要更多代碼片段,請告知我們。非常感謝你對這個問題的任何想法。
謝謝您的回答。對不起,我已經在種子文件中創建了用戶。編輯了我的問題。 – patrick
然後確保你傳遞用戶的'user_id'存在 –
現在我在這裏面對這個問題:http://stackoverflow.com/questions/39200815/mysql-rails-errno-150-foreign-key-constraint-是-錯誤地形成的 – patrick