繁体   English   中英

ecto中的虚拟模型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM