autoGeneratedUniqueIndexDefinition method

SerializableModelIndexDefinition? autoGeneratedUniqueIndexDefinition(
  1. String tableName,
  2. List<SerializableModelFieldDefinition> allFields
)

When shouldCreateUniqueIndex is true, the btree unique index that is auto-created for this field on tableName; otherwise null.

Implementation

SerializableModelIndexDefinition? autoGeneratedUniqueIndexDefinition(
  String tableName,
  List<SerializableModelFieldDefinition> allFields,
) {
  if (!shouldCreateUniqueIndex) return null;

  var indexColumnNames = [
    for (var perFieldName in uniquePerFieldNames!)
      _resolveUniqueIndexColumnName(perFieldName, allFields),
    columnName,
  ];

  return SerializableModelIndexDefinition(
    name: _autoGeneratedUniqueIndexName(tableName, indexColumnNames),
    type: 'btree',
    unique: true,
    fields: indexColumnNames,
  );
}