首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >映射到MySql BIGINT的Ecto或Elixir数据类型

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

Stack Overflow用户
提问于 2017-07-30 14:07:18
回答 1查看 5.8K关注 0票数 8

我刚接触过药剂和凤凰城(学习了6个月),我遇到了一种情况,我想在MySql中为BIGINT分配一个Ecto模型的字段(不是主键或表ID)。

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

在检查了这个站点之后,我尝试在模型和相应的迁移脚本中创建一个Ecto模型的字段到:integer或:id,但是它总是在MySql中给出INT数据类型。

有人知道哪种数据类型与MySql中的BIGINT对应,所以当我执行迁移脚本时,表中的特定列将作为BIGINT?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-31 04:07:31

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

代码语言:javascript
复制
create table(:foos) do
  add :bar, :bigint
end

<!-- -->

schema "foos" do
  field :bar, :integer
end
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45400665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档