#Defining Ecto schema assoc with composite keys

2 messages · Page 1 of 1 (latest)

rare marten
#

** (ArgumentError) the Access module supports only keyword lists (with atom keys), got: [user_id: :user_id, game_account_id: :game_account_id]

defmodule WebApi.Account.UserGamePresetEntry do
  use Ecto.Schema
  import Ecto.Changeset
  @primary_key {:id, :binary_id, autogenerate: true}
  @foreign_key_type :binary_id
  schema "user_game_preset_entries" do


    belongs_to :user_game_account, WebApi.Account.UserGameAccount,
      foreign_key: [:user_id, :game_account_id]

    timestamps(type: :utc_datetime_usec)
  end
end
defmodule WebApi.Account.UserGameAccount do
  use Ecto.Schema
  import Ecto.Changeset

  alias WebApi.Account.User
  alias WebApi.Account.GameAccount

  @primary_key false
  @foreign_key_type :binary_id
  schema "user_game_accounts" do
    belongs_to :user, User, primary_key: true
    belongs_to :game_account, GameAccount, primary_key: true

    has_many :user_game_preset_entries, UserGamePresetEntry,
      references: [user_id: :user_id, game_account_id: :game_account_id]
  end
end
dusk tapir
#

Ecto doesn't support composite keys for associations