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;
}