liquibase 的枚举数据类型

2024-01-01

我目前正在处理 liquibase.xml 文件来创建表 table_a。我的领域之一是<column name="state" type="ENUM('yes','no')">我使用 postgresql 作为我的 DBMS。有没有类似 enum 的数据类型? 我读过这样的内容http://wiki.postgresql.org/wiki/Enum http://wiki.postgresql.org/wiki/Enum

postgresql 没有这样的数据类型。 CREATE TYPE 函数用于创建此数据类型。但我仍然不知道如何在 liquibase 中制作它。

有什么建议么?


当然,PostgreSQL 有一个枚举类型(在您显示的链接和手册中清楚地记录了它)。

我不认为 Liquibase “原生”支持 PostgreSQL 的枚举,但您应该能够使用自定义 SQL 来实现它:



<changeSet id="1" author="Arthur">
  <sql>CREATE TYPE my_state AS ENUM ('yes','no')</sql>
  <table name="foo">
    <column name="state" type="my_state"/>
  </table>
</changeSet>
  

对于简单的是/否列,我实际上会使用boolean类型而不是枚举

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

liquibase 的枚举数据类型 的相关文章

  • 新分配的序列不起作用

    在 PostgreSQL 中 我创建了一个新表并为其分配了一个新序列id柱子 如果我从 PostgreSQL 控制台插入记录 它可以工作 但是当我尝试从 Rails 导入记录时 它会引发异常 无法找到关联的序列 这是表格 d user me
  • PostgreSQL不使用PostGIS计算两点之间的距离

    当纬度和经度位于表格中的两个单独列中时 如何计算两点之间的距离 我无法使用 PostGIS 因为我使用 heroku Postgres 免费版本 你可以使用这样的东西 select SQRT POW 69 1 latitude float
  • Rails 5.2.2(活动记录)WITH 语句

    我正在使用 Rails 5 2 2 并且有一个使用 WITH 语句的复杂查询 我需要使用左外连接创建该语句 我该如何做WITH活动记录中的语句 我的 TOTAL PROFILES 由查询对象驱动 并且会发生变化 而其余部分将始终保持不变 所
  • 无法在 postgres insert 中插入问号

    我正在尝试运行一个简单的 Postgres SQL 插入 insert into Resources values 1 How are you 但插入后的结果是 ID Data 1 How are you 1 我知道 要插入单引号等字符 我
  • PostgreSQL 8.3 中不为空且唯一约束的增量字段

    我有一个表 项目 其中有一列 位置 位置具有唯一且非空的约束 为了在位置 x 插入新行 我首先尝试增加后续项目的位置 UPDATE items SET position position 1 WHERE position gt x 这会导致
  • PostgreSQL 自定义异常条件

    当我提出异常时是否可以创建自定义条件 考虑以下示例 BEGIN y x 0 EXCEPTION WHEN division by zero THEN RAISE NOTICE caught division by zero RETURN x
  • PostgreSQL:用以前的值填充时间序列查询中的 NULL 值

    我有一个包含时间相关信息的数据库 我想要一个包含每分钟值的列表 像这样 12 00 00 3 12 01 00 4 12 02 00 5 12 03 00 5 12 04 00 5 12 05 00 3 但是 当几分钟内没有数据时 我得到如
  • 限制相同的数据条目

    我是 SQL 新手 我有两张桌子 一张放冰箱 一张放食物 一台冰箱只能存放 5 种食物 所以我想知道是否有办法限制食物表中只有 5 个相同的冰箱 ID 条目 没有直接的方法来强制执行这样的约束 我能想到的最好的是 有一个 冗余 列food
  • 代表 PostgreSQL 中的未来时间

    我习惯于将过去的日期作为 UTC 存储在数据库中 因为那实际上是事件发生的时间 对于未来的日期 我会将其与特定时区一起存储 以避免诸如闰秒或时区规则更改之类的更改 Postgres 有timestamp with timezone 但在幕后
  • 撤销角色对 postgres 数据库的访问权限

    我为某个用户创建了一个单独的角色 newrole 和新模式 newschema 该用户应该只执行一些存储的函数 我已设法撤销对当前数据库的模式 public 的访问权限 以 newrole 身份登录 我仍然可以访问 postgres 数据库
  • PSQLException:错误:关系“TABLE_NAME”不存在

    我正在尝试在 PostgreSQL 8 4 2 DB 上运行休眠 每当我尝试运行简单的java代码时 例如 List
  • PostgreSQL 使用 JPA 和 Hibernate 抛出“列的类型为 jsonb,但表达式的类型为 bytea”

    这是我的实体类 映射到表中postgres 9 4 我正在尝试将元数据存储为jsonb在数据库中输入 Entity Table name room categories TypeDef name jsonb typeClass JsonBi
  • 如何禁用 PostgreSQL 的所有优化

    我正在研究查询优化 想知道每种优化对查询有多大帮助 上次 我得到了一个answer https stackoverflow com questions 22785064 how to disable enable different que
  • 仅当值不同时 Postgres UPSERT(插入或更新)

    我正在更新 Postgres 8 4 数据库 来自 C 代码 基本任务非常简单 更新现有行或插入新行 如果尚不存在 通常我会这样做 UPDATE my table SET value1 newvalue1 updated time now
  • PostgreSQL UPDATE 子字符串替换

    我在测试数据库中有几行 其中值前面有美元符号 我想要UPDATE中的值name的行test1然而 当我将以下查询放在一起时 它清空了表中的六行数据name柱子 UPDATE test1 SET name overlay placing fr
  • 在同一分区上应用多个窗口函数

    是否可以将多个窗口函数应用于同一分区 如果我使用的词汇不正确 请纠正我 例如你可以这样做 SELECT name first value over partition by name order by date from table1 但有
  • 包含相关模型时 Sequelize 急切加载错误

    我正在使用 Sequelize 来发出此请求 return Expense findAll include model ExpenseCategory then expenses gt res status 200 send expense
  • 使用 postgres tablefunc crosstab() 返回空单个值

    我试图将空值合并到返回的列表中 这样 batch id test name test value 10 pH 4 7 10 Temp 154 11 pH 4 8 11 Temp 152 12 pH 4 5 13 Temp 155 14 pH
  • 如何在 SQLAlchemy 中连接两个表中的数据?

    我有3张桌子 Account User and Organization Account由组成id name and organization id User由组成email and organization id Organization
  • TypeORM 插入带有外键的行

    我之间有 OneToMany 关系聊天室1 M gt 留言我遇到的问题是 每当我尝试插入一条消息 或大量消息 时 ChatRoom 的外键为空 此外 我正在上传我的设置 Entity messages export class Messag

随机推荐