createEnumStatement method

String createEnumStatement(
  1. EnumDefinition definition
)

Returns a PostgreSQL enum creation statement.

Implementation

String createEnumStatement(EnumDefinition definition) {
  final values = definition.values
      .map((value) => _quoteString(value))
      .join(', ');
  return 'DO \$\$ BEGIN '
      'CREATE TYPE ${_quoteIdentifier(definition.databaseName)} AS ENUM ($values); '
      'EXCEPTION WHEN duplicate_object THEN NULL; '
      'END \$\$;';
}