当前位置: > > > > 自动迁移到 PostgreSQL 时强制 GORM 使用特定的 INTEGER 类型
来源:stackoverflow
2024-04-23 19:12:36
0浏览
收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《自动迁移到 PostgreSQL 时强制 GORM 使用特定的 INTEGER 类型》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
问题内容
我的 go 模型是:
type Sales_Daily_db struct { Nation_shipping string Date datatypes.Date Impressions int `gorm:"type:integer;"` Clicks int `gorm:"type:integer;"` Cost float32 ATB float32 OKL float32 }
使用上述模型运行 automigrate()
时,我希望 psql 数据库中的 impressions
和 clicks
列的类型为 integer
。然而,即使使用这些 gorm
标签,它们仍然最终成为 int4
类型。我已经使用上面的标签手动尝试了 int2 int4 int8
,它们都相应地工作了。此外,当我尝试 int
标记时,它们被强制进入 int8
。如何修复此行为并在 psql 中专门获取 integer
类型?
编辑:我正在使用 dbeaver 查看数据库。
正确答案
根据 postgresql 文档,这样说:
SQL only specifies the integer types integer (or int), smallint, and bigint. The type names int2, int4, and int8 are extensions, which are also used by some other SQL database systems.
您应该可以使用 int
、integer
、smallint
和 bigint
。除此之外的任何内容都只是别名。
到这里,我们也就讲完了《自动迁移到 PostgreSQL 时强制 GORM 使用特定的 INTEGER 类型》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注公众号,带你了解更多关于的知识点!