iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >SQLC 覆盖 Bool 类型 PostgreSQL
  • 124
分享到

SQLC 覆盖 Bool 类型 PostgreSQL

2024-02-10 22:02:14 124人浏览 八月长安
摘要

PHP小编西瓜为您带来关于sqlC覆盖Bool类型postgresql的介绍。SQLC是一个强大的SQL查询构建器,它可以方便地与各种数据库进行交互。在使用PostgreSQL时,SQ

PHP小编西瓜为您带来关于sqlC覆盖Bool类型postgresql的介绍。SQLC是一个强大的SQL查询构建器,它可以方便地与各种数据库进行交互。在使用PostgreSQL时,SQLC提供了对Bool类型的覆盖支持,使得我们可以更灵活地处理和查询布尔值。通过SQLC,我们可以轻松地在PostgreSQL中进行布尔值的增删改查操作,提高开发效率并简化代码编写过程。无论是初学者还是有经验的开发者,都可以通过SQLC轻松地操作PostgreSQL中的布尔类型数据。

问题内容

我正在使用 sqlc,并且我的 yaml 配置文件包含 postgresql 的以下类型覆盖:

gen:
  Go:
    emit_JSON_tags: true
    package: "hmdb"
    out: "hmdb"
    overrides:
    - db_type: "hstore"
      nullable: true
      go_type: "GitHub.com/jackc/pgtype.hstore"
    - db_type: "text"
      nullable: true
      go_type:
        import: "gopkg.in/guregu/null.v4"
        package: "null"
        type: "string"
    - db_type: "timestamptz"
      nullable: true
      go_type:
        import: "gopkg.in/guregu/null.v4"
        package: "null"
        type: "time"

这里的一切都有效,但如果我添加:

- db_type: "bool"
      nullable: true
      go_type:
        import: "gopkg.in/guregu/null.v4"
        package: "null"
        type: "bool"

我没有得到预期的结果。我也尝试过 booleanbit 无论有没有 nullable 都无济于事。

我在这里定义了一个更新查询:

-- name: setuser :one
update users set 
    username = coalesce(sqlc.narg(username), username),
    email = coalesce(sqlc.narg('email'), email),
    phone = coalesce(sqlc.narg('phone'), phone),
    passWord = coalesce(sqlc.narg('password'), password),
    mfatoken = coalesce(sqlc.narg('mfatoken'), mfatoken),
    active = coalesce(sqlc.narg('active'), active)
    where id = $1 returning *;

但生成的结构如下所示:

type SetUserParams struct {
    ID       uuid.UUID    `json:"id"`
    Username null.String  `json:"username"`
    Email    null.String  `json:"email"`
    Phone    null.String  `json:"phone"`
    Password null.String  `json:"password"`
    MFAToken null.String  `json:"mfatoken"`
    Active   sql.NullBool `json:"active"`
}

我想使用 null.bool 而不是 sql.nullbool,这可能吗?

解决方法

像这样创建 schema.yaml

create table users (
    ...
    active pg_catalog.bool
)

sqlc.yaml 中,条目应如下所示:

- db_type: "pg_catalog.bool"
     nullable: true
     go_type:
       import: "gopkg.in/guregu/null.v4"
       package: "null"
       type: "bool"

然后在 sqlcgenerate 之后它看起来像这样:

type SetUserParams struct {
    ...
    Active   null.Bool   `json:"active"`
}

因此它使用 null.bool 而不是 sql.nullbool

以上就是SQLC 覆盖 Bool 类型 PostgreSQL的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: SQLC 覆盖 Bool 类型 PostgreSQL

本文链接: http://www.lsjlt.com/news/563272.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQLC 覆盖 Bool 类型 PostgreSQL
    php小编西瓜为您带来关于SQLC覆盖Bool类型PostgreSQL的介绍。SQLC是一个强大的SQL查询构建器,它可以方便地与各种数据库进行交互。在使用PostgreSQL时,SQ...
    99+
    2024-02-10
  • golang bool 类型转换
    在 Golang 中,bool 类型是一个布尔类型,它只有两个值:true 和 false。在某些情况下,我们需要将 bool 类型转换成其他类型,例如整型、字符串等。那么,Golang 中 bool 类型的转换怎么做呢?以下是详细说明:b...
    99+
    2023-05-15
  • python - 基础类型 - bool
    bool:python中布尔值使用常量True和False来表示   注:   1.在数值上下文环境中,True被当作1,False被当作0,例如 True+3=>4   2.其他类型值转换bool值时除了''、""、''''''、...
    99+
    2023-01-31
    类型 基础 python
  • Python中bool类型转换
    在python中,以下数值会被认为是False: 为0的数字,包括0,0.0 空字符串,包括”,”“ 表示空值的None 空集合,包括(),[],{} 其他的值都认为是True。 None是python中的一个特殊值,表示什么...
    99+
    2023-01-31
    类型 Python bool
  • C++ 中如何覆盖基类函数?
    c++++中,函数重写允许派生类覆盖基类函数,以扩展或修改其行为。其语法为:具有相同函数名具有相同函数签名使用override关键字 C++ 中函数重写的全面指南 在 C++ 中,函数...
    99+
    2024-04-13
    覆盖重写 基类函数 c++
  • PostgreSQL中的bool类型转换为smallint的方法是什么
    这篇文章主要介绍“PostgreSQL中的bool类型转换为smallint的方法是什么”,在日常操作中,相信很多人在PostgreSQL中的bool类型转换为smallint的方法是什么问题上存在疑惑,小...
    99+
    2024-04-02
  • sqlc.yaml 配置不会覆盖 postgresql 时间间隔到 time.Duration
    php小编柚子在这里为大家介绍一个关于sqlc.yaml配置的问题。在使用postgresql时,我们经常需要使用时间间隔(time.Duration)来表示一段时间。然而,有时候我们...
    99+
    2024-02-09
  • java子类覆盖父类的方法是什么
    Java中子类覆盖父类的方法是通过在子类中定义一个与父类相同签名的方法来实现的。在子类中可以重新实现父类的方法,也可以添加额外的功能...
    99+
    2023-10-08
    java
  • python基础篇之bool类型
    Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True。 True and T...
    99+
    2023-01-31
    类型 基础 python
  • Python中的布尔类型bool
    Python中的布尔类型 Python中的布尔类型(bool)只有两个取值,分别是True和False。 bool类型通常用于逻辑判断和条件控制语句中,例如while和if语句。 在...
    99+
    2023-05-18
    Python布尔类型bool Python bool
  • 基本数据类型(int, bool, st
    一.python基本数据类型  1. int ==> 整数. 主要用来进行数学运算  2. str ==> 字符串, 可以保存少量数据并进行相应的操作  3. bool==>判断真假, True, False  4. l...
    99+
    2023-01-30
    数据类型 int st
  • c++中bool类型占几个字节
    在 c++ 中,bool 类型通常占用 1 个字节,但具体字节数取决于编译器和平台的实现,在特殊情况下可能占用 2 或 4 个字节。 C++ 中 bool 类型的字节数 C++ 中的 ...
    99+
    2024-05-06
    c++
  • 覆盖父类函数:理解子类对父类行为的扩展
    面向对象编程中,子类通过覆盖父类函数扩展其行为。覆盖函数需使用 override 关键字,子类函数签名必须与父类完全相同。优点包括:定制父类行为、保持父类功能、提升代码可重用性。注意匹配...
    99+
    2024-05-01
    面向对象 重写
  • php怎么将值转换为bool类型
    PHP 是一种无类型语言,它可以将变量的类型在执行时随意更改。其中一个基本的数据类型是布尔型。布尔类型只有两个值,即真和假(true 和 false)。在某些情况下,需要将 bool 类型的变量转换成其他数据类型,或者将其他数据类型转换为 ...
    99+
    2023-05-14
    bool类型 php
  • C语言如何实现BOOL类型
    目录C语言实现BOOL类型C语言中bool如何输出总结C语言实现BOOL类型 C语言功能强大,语法简洁,但简洁到没有BOOL类型,不能像C++那样使用true和false,这大大降低...
    99+
    2023-02-27
    C语言 BOOL类型 BOOL类型 C语言BOOL
  • C语言怎么实现BOOL类型
    本文小编为大家详细介绍“C语言怎么实现BOOL类型”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么实现BOOL类型”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C语言实现BOOL类型C语言功能强大,语法...
    99+
    2023-07-05
  • c语言bool类型怎么输出
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-23
  • 第三天-基本数据类型 int bool
    # python基础数据类型 # 1. int 整数 # 2.str 字符串.不会用字符串保存大量的数据 # 3.bool 布尔值. True, False # 4.list 列表(重点) 存放大量的数据 # 5.dict 字典 key...
    99+
    2023-01-30
    数据类型 int bool
  • php如何将数组转成bool类型
    这篇文章主要介绍“php如何将数组转成bool类型”,在日常操作中,相信很多人在php如何将数组转成bool类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何将数组转成bool类型”的疑惑有所帮助!...
    99+
    2023-07-02
  • php如何将值转换为bool类型
    这篇文章主要介绍“php如何将值转换为bool类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何将值转换为bool类型”文章能帮助大家解决问题。PHP 是一种无类型语言,它可以将变量的类型...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作