如何在 Phoenix 的 Ecto 模型中获取 PostgreSQL 哈希值?
How to get PostgreSQL hashes in Phoenix's Ecto models?
我想在我的 Ecto 模型中定义一个 PostgreSQL-Hash 类型的字段,但我不确定该怎么做。我还没有找到关于这个主题的明确指南,我假设它隐藏在这里的某个地方:http://hexdocs.pm/ecto/Ecto.Schema.html
有没有人提供在 Ecto 中执行 PostgreSQL-Hash 字段的明确指南?
正如 JustMichael 所说,答案是 :map
类型。
table定义:
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
);
Ecto 模型:
defmodule Nexus.Author do
use Nexus.Web, :model
schema "authors" do
field :settings, :map
timestamps
end
end
现在我可以访问设置 Nexus.Repo.get(Author, some_id).settings
并在 return 中获取地图。
我想在我的 Ecto 模型中定义一个 PostgreSQL-Hash 类型的字段,但我不确定该怎么做。我还没有找到关于这个主题的明确指南,我假设它隐藏在这里的某个地方:http://hexdocs.pm/ecto/Ecto.Schema.html
有没有人提供在 Ecto 中执行 PostgreSQL-Hash 字段的明确指南?
正如 JustMichael 所说,答案是 :map
类型。
table定义:
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
);
Ecto 模型:
defmodule Nexus.Author do
use Nexus.Web, :model
schema "authors" do
field :settings, :map
timestamps
end
end
现在我可以访问设置 Nexus.Repo.get(Author, some_id).settings
并在 return 中获取地图。