You can specify the following for "parser_args" in SQL::Translator :
deconstruct_enum_types
If set to a true value, the parser will look for column types which are user-defined Enums, and generate
a column definition like:
{
data_type => 'enum',
extra => {
custom_type_name => 'MyEnumType',
list => [ 'enum_val_1', 'enum_val_2', ... ],
}
}
This makes a proper round-trip with SQL::Translator::Producer::PostgreSQL (which re-creates the custom
enum type if "producer_args->{postgres_version} >= 8.003") and can be translated to other engines.
If the option is false (the default) you would just get
{ data_type => 'MyEnumType' }
with no provided method to translate it to other SQL engines.