@@ -254,20 +254,19 @@ export class DomainDesign
254254 . map ( index => index . columns . get ( 0 ) )
255255 . toList ( ) ;
256256
257- // Hack: SQL server uses a hashed field for unique constraints on text columns, see
258- // BaseMicrosoftSqlServerDialect.addCreateIndexStatements (where it talks about HASHBYTES)
259257 indices
260- . filter ( index => index . isMSSQLHashedSingleFieldUniqueConstraint ( ) )
258+ . filter ( index => index . isSingleFieldNonUniqueConstraint ( ) )
261259 . forEach ( index => {
262- uniqueConstraintFieldNames = uniqueConstraintFieldNames . push (
263- index . columns . get ( 0 ) . replace ( '_hashed_' , '' )
264- ) ;
260+ // Hack: SQL server uses a hashed field for unique constraints on text columns, see
261+ // BaseMicrosoftSqlServerDialect.addCreateIndexStatements (where it talks about HASHBYTES)
262+ if ( index . columns . get ( 0 ) . startsWith ( '_hashed_' ) ) {
263+ uniqueConstraintFieldNames = uniqueConstraintFieldNames . push (
264+ index . columns . get ( 0 ) . replace ( '_hashed_' , '' )
265+ ) ;
266+ } else {
267+ nonUniqueConstraintFieldNames = nonUniqueConstraintFieldNames . push ( index . columns . get ( 0 ) ) ;
268+ }
265269 } ) ;
266-
267- nonUniqueConstraintFieldNames = indices
268- . filter ( index => index . isSingleFieldNonUniqueConstraint ( ) )
269- . map ( index => index . columns . get ( 0 ) )
270- . toList ( ) ;
271270 }
272271
273272 if ( rawModel . fields ) {
@@ -314,7 +313,6 @@ export class DomainDesign
314313 . filter (
315314 index =>
316315 ! index . isSingleFieldUniqueConstraint ( ) &&
317- ! index . isMSSQLHashedSingleFieldUniqueConstraint ( ) &&
318316 ! index . isSingleFieldNonUniqueConstraint ( )
319317 )
320318 . map ( index => DomainIndex . serialize ( index ) )
@@ -615,10 +613,6 @@ export class DomainIndex
615613 return this . type === 'unique' && this . columns . size === 1 ;
616614 }
617615
618- isMSSQLHashedSingleFieldUniqueConstraint ( ) : boolean {
619- return this . isSingleFieldNonUniqueConstraint ( ) && this . columns . get ( 0 ) . startsWith ( '_hashed_' ) ;
620- }
621-
622616 isSingleFieldNonUniqueConstraint ( ) : boolean {
623617 return this . type === 'nonunique' && this . columns . size === 1 ;
624618 }
0 commit comments