primaryKeyTypeToSQLType method

String? primaryKeyTypeToSQLType(
  1. Type type, {
  2. List<EntityField>? entityFieldAnnotations,
})

Implementation

String? primaryKeyTypeToSQLType(Type type,
    {List<EntityField>? entityFieldAnnotations}) {
  if (type.isNumericOrDynamicNumberType) {
    return 'SERIAL PRIMARY KEY';
  } else if (type == String) {
    if (dialect.acceptsVarcharWithoutMaximumSize) {
      return 'VARCHAR PRIMARY KEY';
    } else {
      var maximum = entityFieldAnnotations?.maximum.firstOrNull ?? 254;
      return 'VARCHAR($maximum) PRIMARY KEY';
    }
  } else {
    return 'PRIMARY KEY';
  }
}