gpt4 book ai didi

elixir - ecto 中的虚拟模型

转载 作者:行者123 更新时间:2023-12-02 09:51:16 25 4
gpt4 key购买 nike

有没有一种方法可以在 ecto.js 中定义虚拟模型?没有迁移文件并且不保留在数据库中。我在 Ecto 文档中没有找到任何与此相关的文档。我需要这个来测试 iex 中的一些功能。使用与应用程序其余部分分开的模型进行测试。

我发现嵌入式架构其中包含不保留在数据库中但与模型无关的字段。

任何帮助将不胜感激。

最佳答案

嵌入式架构就很好。

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

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

关于elixir - ecto 中的虚拟模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50481333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com