Liquibase 数据库更改日志 xml 文件 - 如何在 postgresql 中创建枚举

Liquibase databasechangelog xml file - how to create enum in postgresql

我使用 liquibase,我想在我的 xml 文件 (PostgreSQL) 中创建枚举。

作为下面的示例,创建新的 table:

的更新日志文件(仅文件的一部分)
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd
    http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">

    <changeSet id="r3.3.0_table_creation_research_document  "
               author="anonim">
        <createTable tableName="research_document">
            <column name="id" type="bigint">
                <constraints primaryKey="true"
                             primaryKeyName="research_document_pkey" nullable="false" />
            </column> 

我在 Internet 上找不到任何 info/examples!

我认为 liquibase 本身不支持 xml 格式的 postgres 枚举。但是,由于在 postgres 中是可能的,因此您始终可以使用 liquibase's formatted sql 而不是 xml:

--liquibase formatted sql
                
--changeset ronak:1
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');
CREATE TABLE person (
name text,
current_mood mood
);  
--rollback drop table person;