I'm currently working on a liquibase.xml file to create table table_a. One of my fields is <column name="state" type="ENUM('yes','no')">
I'm using postgresql as my DBMS. is there anything like enum data type?
I've read in this like http://wiki.postgresql.org/wiki/Enum
that postgresql doesn't have such data type. CREATE TYPE function is used to create this data type. I still don't know how to make it in liquibase though.
Any suggestions?
Well of course PostgreSQL has an enum type (which is clearly documented in the link you have shown and the manual).
I don't think Liquibase "natively" supports enums for PostgreSQL, but you should be able to achieve it with a custom 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>
For a simple yes/no column, I'd actually use the boolean
type instead of an enum