0
我必須讓它過於複雜,但我很難將我的頭圍繞一個簡單的問題。Ecto更新關聯has_one belongs_to
說我有兩個表,global_users
和local_users
:
create table(:global_users, primary_key: false) do
add :id, :integer, primary_key: true
add :local_user_id, references(:local_users)
...
end
create table(:local_users, primary_key: false) do
add :id, :integer, primary_key: true
add :global_user_id, references(:global_users)
...
end
@primary_key {:id, :integer, autogenerate: false}
schema "global_users" do
has_one :local_user, Local.User
...
end
@primary_key {:id, :integer, autogenerate: false}
schema "local_users" do
belongs_to :global_user, Global.User
...
end
編程,我將首先創建一個global_user,然後創建一個local_user,然後我需要兩個事後關聯。
例如,鑑於現有的有效global_user
和現有的有效local_user
,我將如何連結現有的local_user
到現有global_user
?
一旦我添加has_one
,我不再有權訪問外部密鑰本身(例如,沒有%Global.User{:local_user_id}
更新,只有一個關聯!)。
同樣,我知道這看起來很簡單,而且我確信我只是錯過了一些明顯的東西。
在此先感謝!