sqlc.yaml 配置不会覆盖 postgresql 时间间隔到 time.Duration

php小编柚子在这里为大家介绍一个关于sqlc.yaml配置的问题。在使用postgresql时,我们经常需要使用时间间隔(time.Duration)来表示一段时间。然而,有时候我们会发现在sqlc.yaml配置文件中进行的时间间隔配置并不会生效,而是被默认的配置所覆盖。这个问题该如何解决呢?请继续阅读本文,我们将给出详细的解答。,我发现 sqlc codegen 应用程序存在问题。万一,当我需要 interval (postgresql) 字段时,sqlc 会生成一个带有 int64 字段的对象。此解决方案看起来已损坏,并在扫描行时产生错误: errorf("cannot conversion %v to interval", value),sqlc.yaml:,schema.sql:,生成的模型:,通过将此字段设置为 time.duration 类型,问题很快就得到了修复。duration 和代码开始工作,但此代码是代码生成的,看起来是个错误的决定。,在尝试通过 sqlc.yaml 配置覆盖类型时,我什么都没有,对象仍在创建 int64 类型。我哪里错了,如何解决这个问题?,在支持的类型,您将看到 pg_catalog.interval 也是 postgres 中 interval 支持的值之一。,因此,如果您只想使用 time.duration 而不是 int64,则需要将 overrides 部分更改为:,提示:如果它不适用于最明显的数据类型,您可以尝试另一种。,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册