LoginSignup
0
0

More than 1 year has passed since last update.

seed_fuでYour seed constraints contained unknown columns: `id`.と言われたのはそのテーブルのプライマリキーがidではなかったから

Posted at

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

うまく行きました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0