映射到 MySql BIGINT 的 Ecto 或 Elixir 数据类型

2024-03-10

我是 Elixir 和 Phoenix 的新手(学习 6 个月),我有一种情况,我想将 Ecto 模型的字段(不是主键或表 ID)分配给 MySql 中的 BIGINT。

我意识到当你创建一个 Ecto 模型时,MySql 表中该模型的 ID 会自动映射到BIGINT迁移后。

检查完这个后site https://hexdocs.pm/ecto/Ecto.Schema.html,我尝试创建一个 Ecto 模型的字段来:integer or :id在模型及其相应的迁移脚本中,但它总是给我INTMySql 中的数据类型。

任何人都知道 Elixir 或 Ecto 中的哪种数据类型对应于 MySql 中的 BIGINT,因此当我执行迁移脚本时,我的表将将该特定列设置为 BIGINT?

Thanks


迁移中的类型应该是实际的数据库类型,而架构中的类型应该是您在 Elixir 中想要的类型。由于 Elixir 支持任意精度整数,因此数据库中的所有整数类型通常都会映射到本机:integer类型。所以你想要的是使用:bigint输入迁移并:integer在架构中。

create table(:foos) do
  add :bar, :bigint
end

<!-- -->

schema "foos" do
  field :bar, :integer
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

映射到 MySql BIGINT 的 Ecto 或 Elixir 数据类型 的相关文章

随机推荐