我有以下表格
keyword
keyword_id - PK
description
status_id - FK
keyword_status
status_id - PK
description
尝试在 AR 中对它们进行建模,当尝试在我的测试中保存时,它不会将状态 ID 保存在关键字中。它们被映射为:
class Keyword < ActiveRecord::Base
self.table_name = :keyword
self.primary_key = :KEYWORD_ID
attr_writer :description
attr_writer :keyword_status
has_one :keyword_status, foreign_key: :STATUS_ID
end
class KeywordStatus < ActiveRecord::Base
self.table_name = :keyword_status
self.primary_key = :STATUS_ID
end
以及它中断的代码(关键字状态由固定装置填充)
keyword = Keyword.new
keyword.description = "keyword#{n}"
keyword.keyword_status = KeywordStatus.first
keyword.save
当keyword.save
被调用时,我无法将 NULL 插入表关键字的“STATUS_ID”中
注意:我无法更改任何 DDL