ecto中的虚拟模型

时间:2018-05-23 06:34:16

标签: elixir phoenix-framework ecto

有没有办法在ecto中定义虚拟模型。哪个没有@RequestMapping(value={"/method1","/method1/second"})migration file。我没有在Ecto文档中找到任何与此相关的文档。我需要这个来测试iex中的一些函数。使用与应用程序其余部分分开的模型进行测试。

我发现don't persist in the data base包含的数据不会在数据库中保留,但与模型无关。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

嵌入式架构很好。

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

一旦定义,它就可以用作普通模式。