Fusicの賀来という者です。
解決したい問題
ある日、Railsアプリでseed_fuというgemでseedを流したところ、怒られました。
rails aborted!
ArgumentError: Your seed constraints contained unknown columns: `id`. Valid columns are: `user_id`, `group_id`, `group_uid`, `created_at`, `updated_at`.
gemはこちら。
バージョンの確認です。
古くてちょいアレですが...。
ruby:2.3.4
Rails 5.1.7
seedファイルはこうなっています。
UserRegistration.seed do |ur|
ur.user_id = user.id
ur.group_id = group.id
end
Modelをよく見たら、プライマリキーが別途設定されていました。
class Post < ApplicationRecord
self.primary_key = 'user_id'
end
解決
この場合、seedメソッドの引数にprimary keyの情報を渡してあげれば良い。
UserRegistration.seed(:user_id) do |ur|
ur.user_id = user[0].id
ur.group_id = group.id
end
うまく行きました。