typeFor method

  1. @override
String typeFor(
  1. ColumnDefinition column
)
override

SQL type for column.

Implementation

@override
String typeFor(ColumnDefinition column) => switch (column.type) {
  .increments => 'BIGSERIAL',
  .string => 'VARCHAR(${column.length ?? 255})',
  .char => 'CHAR(${column.length ?? 255})',
  .text || .mediumText || .longText => 'TEXT',
  .integer => 'INTEGER',
  .tinyInteger || ColumnType.smallInteger => 'SMALLINT',
  .bigInteger => 'BIGINT',
  .decimal => 'DECIMAL(${column.precision ?? 8}, ${column.scale ?? 2})',
  .float => 'REAL',
  .doublePrecision => 'DOUBLE PRECISION',
  .boolean => 'BOOLEAN',
  .date => 'DATE',
  .dateTime || .timestamp => 'TIMESTAMP(0) WITHOUT TIME ZONE',
  .time => 'TIME(0) WITHOUT TIME ZONE',
  .json => 'JSONB',
  .uuid => 'UUID',
  .binary => 'BYTEA',
  .enumeration => 'VARCHAR(255)',
};