DialectAwareSqlType<T extends Object>.via constructor

const DialectAwareSqlType<T extends Object>.via({
  1. required BaseSqlType<T> fallback,
  2. required Map<SqlDialect, BaseSqlType<T>> overrides,
})

Creates a DialectAwareSqlType that uses the fallback type by default, but can apply overrides on some database systems.

For instance, this can be used to create a custom type that stores uuids as TEXT on databases with no builtin UUID type, but otherwise uses the native format:

class UuidAsTextType implements CustomSqlType<Uuid> { ... }

const uuidType = DialectAwareSqlType.via(
  fallback: UuidAsTextType(),
  overrides: {
    SqlDialect.postgres: PgTypes.uuid,
  }
);

Implementation

const factory DialectAwareSqlType.via({
  required BaseSqlType<T> fallback,
  required Map<SqlDialect, BaseSqlType<T>> overrides,
}) = _ByDialectType<T>;