Я пытаюсь вставить данные в таблицу, где один из столбцов является внешним ключом. Я создал связь между таблицами, но внешний ключ вставляется как пустой.
У меня есть схема для user_type
schema “user_type” do
field(:type, :string)
has_many(:roles, Accreditor.Role.Roles, foreign_key: :user_type)
timestamps()
end
def changeset(user_type, attrs) do
user_type
|> cast(attrs, [:type])
|> validate_required([:type])
|> unique_constraint(:type)
end
и иметь еще одну схему ролей
schema “roles” do
field(:role_name, :string)
#field(:user_type, :id)
has_many(:permissions, Accreditor.Permissions.RolePermissions,
foreign_key: :role_id)
belongs_to(:user_type, UserType)
timestamps()
end
@doc false
def changeset(roles, attrs) do
roles
|> cast(attrs, [:role_name])
|> validate_required([:role_name])
|> unique_constraint(:role_name)
end
и я пытаюсь вставить данные в таблицу ролей, данные имя-роли вставляются, но внешний ключ user_type пуст.
пожалуйста, помогите мне с этим
Это мои таблицы postgres:
select * from user_type;
id | type | inserted_at | updated_at
----±------±--------------------±--------------------
1 | ADMIN | 2019-05-06 09:19:24 | 2019-05-06 09:19:24
это моя таблица user_type
select * from roles;
id | role_name | user_type | inserted_at | updated_at
----±----------±----------±--------------------±--------------------
1 | SUPER | | 2019-05-06 09:37:30 | 2019-05-06 09:37:30
и это моя таблица ролей, где поле user_type пусто. Я не понимаю, где я иду не так.