generateAddUniqueConstraintAlterTableSQL method

AlterTableSQL generateAddUniqueConstraintAlterTableSQL(
  1. String table,
  2. String fieldName,
  3. TypeInfo fieldType, {
  4. List<EntityField>? entityFieldAnnotations,
})

Implementation

AlterTableSQL generateAddUniqueConstraintAlterTableSQL(
  String table,
  String fieldName,
  TypeInfo fieldType, {
  List<EntityField>? entityFieldAnnotations,
}) {
  var q = dialect.elementQuote;
  var columnName = normalizeColumnName(fieldName);

  var constraintName = '${table}_${fieldName}_unique';

  var comment = '${fieldType.toString(withT: false)} $fieldName UNIQUE';

  var columnEntry = SQLEntry(
    'ADD',
    ' ADD CONSTRAINT $q$constraintName$q UNIQUE ($q$columnName$q)',
    comment: comment,
  );

  var alterTableSQL = AlterTableSQL(dialect, table, [columnEntry]);

  return alterTableSQL;
}