@@ -1117,4 +1117,55 @@ function mixinMigration(PostgreSQL) {
1117
1117
options : { } ,
1118
1118
} ;
1119
1119
}
1120
+
1121
+ function generateAsIsIndexCompare ( asIsModelIndexes ) {
1122
+ debug ( 'asIsModelIndexes %j' , asIsModelIndexes ) ;
1123
+
1124
+ let asIsIndexes = { } ;
1125
+ asIsModelIndexes . forEach ( ( item ) => {
1126
+ if ( ! item [ 'name' ] . toLowerCase ( ) . includes ( '_pkey' ) ) {
1127
+ let obj = { } ;
1128
+ obj . properties = item [ 'keys' ] . map ( ( key ) => key . replaceAll ( '"' , '' ) ) ;
1129
+ obj . order = item [ 'order' ] ;
1130
+
1131
+ for ( let i = 0 ; i < obj . order . length ; i ++ ) {
1132
+ if ( obj . order [ i ] == 'ASC' ) {
1133
+ obj . order [ i ] = 1 ;
1134
+ } else if ( obj . order [ i ] == 'DESC' ) {
1135
+ obj . order [ i ] = - 1 ;
1136
+ }
1137
+ }
1138
+ let keys = { } ;
1139
+ for ( let i = 0 ; i < obj . properties . length ; i ++ ) {
1140
+ keys [ obj . properties [ i ] ] = obj . order [ i ] ;
1141
+ }
1142
+ obj . keys = keys ;
1143
+ delete obj . properties ;
1144
+ delete obj . order ;
1145
+ obj . unique = item [ 'unique' ] ;
1146
+
1147
+ // asIsIndexes[item['name'].toLowerCase()] = JSON.stringify(obj).toLowerCase();
1148
+ asIsIndexes [ item [ 'name' ] ] = JSON . stringify ( obj ) . toLowerCase ( ) ;
1149
+ }
1150
+ } ) ;
1151
+ debug ( 'asIsIndexes %j' , asIsIndexes ) ;
1152
+
1153
+ return asIsIndexes ;
1154
+ }
1155
+
1156
+ function generateToBeIndexCompare ( modelIndexes ) {
1157
+ let toBeIndexes = { } ;
1158
+ if ( modelIndexes ) {
1159
+ for ( const indexName in modelIndexes ) {
1160
+ const index = modelIndexes [ indexName ] ;
1161
+ // toBeIndexes[indexName.toLowerCase()] = JSON.stringify({
1162
+ toBeIndexes [ indexName ] = JSON . stringify ( {
1163
+ keys : index . keys ,
1164
+ unique : index . options . unique || false
1165
+ } ) . toLowerCase ( ) ;
1166
+ }
1167
+ }
1168
+ debug ( 'toBeIndexes' , toBeIndexes ) ;
1169
+ return toBeIndexes ;
1170
+ }
1120
1171
}
0 commit comments