我刚接触过药剂和凤凰城(学习了6个月),我遇到了一种情况,我想在MySql中为BIGINT分配一个Ecto模型的字段(不是主键或表ID)。
我意识到当您创建一个Ecto模型时,MySql表中该模型的ID将在迁移后自动映射到BIGINT。
在检查了这个站点之后,我尝试在模型和相应的迁移脚本中创建一个Ecto模型的字段到:integer或:id,但是它总是在MySql中给出INT数据类型。
有人知道哪种数据类型与MySql中的BIGINT对应,所以当我执行迁移脚本时,表中的特定列将作为BIGINT?
谢谢
发布于 2017-07-31 04:07:31
迁移中的类型应该是实际的数据库类型,而模式中的类型应该是您在Elixir中想要的类型。由于Elixir支持任意精度整数,所以数据库中的所有整数类型通常都映射到本机:integer类型。因此,您需要的是在迁移中使用:bigint类型,在模式中使用:integer类型。
create table(:foos) do
add :bar, :bigint
end
<!-- -->
schema "foos" do
field :bar, :integer
endhttps://stackoverflow.com/questions/45400665
复制相似问题