我是 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(使用前将#替换为@)