@@ -155,33 +155,14 @@ export type Database = {
155
155
relationship . referenced_schema === table . schema &&
156
156
relationship . relation === table . name
157
157
)
158
- . sort ( ( a , b ) => {
159
- // First try to sort by foreign key name.
160
- const foreignKeyCompare = a . foreign_key_name . localeCompare (
161
- b . foreign_key_name
162
- )
163
- if ( foreignKeyCompare !== 0 ) return foreignKeyCompare
164
-
165
- // Then try to sort by referenced relation.
166
- const referencedRelationCompare = a . referenced_relation . localeCompare (
167
- b . referenced_relation
168
- )
169
- if ( referencedRelationCompare !== 0 ) return referencedRelationCompare
170
-
171
- // Then try to sort by referenced columns, finding the first difference.
172
- for (
173
- let i = 0 ;
174
- i < Math . min ( a . referenced_columns . length , b . referenced_columns . length ) ;
175
- i ++
176
- ) {
177
- const refColCompare = a . referenced_columns [ i ] . localeCompare (
178
- b . referenced_columns [ i ]
158
+ . sort (
159
+ ( a , b ) =>
160
+ a . foreign_key_name . localeCompare ( b . foreign_key_name ) ||
161
+ a . referenced_relation . localeCompare ( b . referenced_relation ) ||
162
+ JSON . stringify ( a . referenced_columns ) . localeCompare (
163
+ JSON . stringify ( b . referenced_columns )
179
164
)
180
- if ( refColCompare !== 0 ) return refColCompare
181
- }
182
- // If all referenced columns are the same, sort by the number of referenced columns.
183
- return a . referenced_columns . length - b . referenced_columns . length
184
- } )
165
+ )
185
166
. map (
186
167
( relationship ) => `{
187
168
foreignKeyName: ${ JSON . stringify ( relationship . foreign_key_name ) }
@@ -254,33 +235,14 @@ export type Database = {
254
235
relationship . referenced_schema === view . schema &&
255
236
relationship . relation === view . name
256
237
)
257
- . sort ( ( a , b ) => {
258
- // First try to sort by foreign key name.
259
- const foreignKeyCompare = a . foreign_key_name . localeCompare (
260
- b . foreign_key_name
261
- )
262
- if ( foreignKeyCompare !== 0 ) return foreignKeyCompare
263
-
264
- // Then try to sort by referenced relation.
265
- const referencedRelationCompare = a . referenced_relation . localeCompare (
266
- b . referenced_relation
267
- )
268
- if ( referencedRelationCompare !== 0 ) return referencedRelationCompare
269
-
270
- // Then try to sort by referenced columns, finding the first difference.
271
- for (
272
- let i = 0 ;
273
- i < Math . min ( a . referenced_columns . length , b . referenced_columns . length ) ;
274
- i ++
275
- ) {
276
- const refColCompare = a . referenced_columns [ i ] . localeCompare (
277
- b . referenced_columns [ i ]
238
+ . sort (
239
+ ( a , b ) =>
240
+ a . foreign_key_name . localeCompare ( b . foreign_key_name ) ||
241
+ a . referenced_relation . localeCompare ( b . referenced_relation ) ||
242
+ JSON . stringify ( a . referenced_columns ) . localeCompare (
243
+ JSON . stringify ( b . referenced_columns )
278
244
)
279
- if ( refColCompare !== 0 ) return refColCompare
280
- }
281
- // If all referenced columns are the same, sort by the number of referenced columns.
282
- return a . referenced_columns . length - b . referenced_columns . length
283
- } )
245
+ )
284
246
. map (
285
247
( relationship ) => `{
286
248
foreignKeyName: ${ JSON . stringify ( relationship . foreign_key_name ) }
0 commit comments