[英]Virtual models in ecto
有没有办法在ecto中定义虚拟模型。 哪个没有migration file
并且don't persist in the data base
。 我没有在Ecto文档中找到任何与此相关的文档。 我需要这个来测试iex中的一些函数。 使用与应用程序其余部分分开的模型进行测试。
我发现embedded schema
包含的数据库不会在数据库中持久存在,但与模型无关。
任何帮助都感激不尽。
嵌入式架构很好。
defmodule Test.Model do
@moduledoc ~S"""
The dummy test model that is not stored in the database.
"""
use Ecto.Schema
import Ecto.Changeset
@type t :: Ecto.Schema.t
@fields ~w|foo bar baz|a
@primary_key false
embedded_schema do
field :foo, :string
field :bar, :integer
field :baz, :float
end
def new(data) when is_map(data) do
%__MODULE__{}
|> cast(data, @fields)
|> validate_required(~w|foo|a)
|> apply_changes()
end
end
一旦定义,它可以用作普通模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.