8
我想在我的Ecto模型中定義一個PostgreSQL-Hash類型的字段,但我不知道該怎麼做。我還沒有找到關於這個主題的明確指導,我假設它在這裏隱藏在這裏:http://hexdocs.pm/ecto/Ecto.Schema.html如何在Phoenix的Ecto模型中獲得PostgreSQL哈希值?
有沒有人在Ecto中做PostgreSQL-Hash字段的明確指南?
我想在我的Ecto模型中定義一個PostgreSQL-Hash類型的字段,但我不知道該怎麼做。我還沒有找到關於這個主題的明確指導,我假設它在這裏隱藏在這裏:http://hexdocs.pm/ecto/Ecto.Schema.html如何在Phoenix的Ecto模型中獲得PostgreSQL哈希值?
有沒有人在Ecto中做PostgreSQL-Hash字段的明確指南?
正如JustMichael所述,答案是:map
類型。
表定義:
CREATE TABLE public.authors (
id INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('authors_id_seq'::regclass),
settings HSTORE,
updated_at TIMESTAMP WITHOUT TIME ZONE,
inserted_at TIMESTAMP WITHOUT TIME ZONE
);
的外生模式:
defmodule Nexus.Author do
use Nexus.Web, :model
schema "authors" do
field :settings, :map
timestamps
end
end
現在我可以進入設置Nexus.Repo.get(Author, some_id).settings
和得到的回報的地圖。
也許你必須提供一個'Ecto.Type'實現來滿足你的需求? –
可能。有沒有人以前做過這個,想分享? :-)在此期間,我將對此進行試驗。 –
在附加了鏈接的文檔中有「地圖類型」部分,您是否嘗試過使用它? – JustMichael