liquibase的枚举数据类型

我目前正在使用liquibase.xml文件来创建表table_a。我的一个领域是
<column name="state" type="ENUM('yes','no')">
我正在使用postgresql作为我的DBMS。有什么像枚举数据类型? 我在这里读过http://wiki.postgresql.org/wiki/Enum postgresql没有这样的数据类型。 CREATE TYPE函数用于创建此数据类型。我仍然不知道如何在liquibase中制作它。 有什么建议?     
已邀请:
当然,PostgreSQL有一个枚举类型(在你显示的链接和手册中清楚地记录了)。 我不认为Liquibase“本机”支持PostgreSQL的枚举,但您应该能够使用自定义SQL实现它: &lt; changeSet id =“1”author =“Arthur”>   &lt; sql> CREATE TYPE my_state AS ENUM('yes','no')&lt; / sql>   &lt; table name =“foo”>     &lt; column name =“state”type =“my_state”/>   &LT; / TABLE> &LT; /变更> 对于一个简单的是/否列,我实际上使用的是
boolean
类型而不是枚举     
创建新类型的替代方法是在
varchar(3)
列上使用简单的CHECK约束:
<changeSet id="1" author="X">
    <table name="t">
        <column name="c" type="varchar(3)"/>
    </table>
    <sql>ALTER TABLE t ADD CONSTRAINT check_yes_no CHECK (c = 'yes' OR c = 'no')</sql>
</changeSet>
对于客户端而言,这可能会更好。我认为
boolean
(正如a_horse_with_no_name所建议的)对于这个特定的案例会更好一点:准确地说出你的意思通常比其他选择更好。     

要回复问题请先登录注册