@@ -155,33 +155,11 @@ export type Database = {
155155 relationship . referenced_schema === table . schema &&
156156 relationship . relation === table . name
157157 )
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 ]
179- )
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- } )
158+ . sort ( ( a , b ) =>
159+ a . foreign_key_name . localeCompare ( b . foreign_key_name ) ||
160+ a . referenced_relation . localeCompare ( b . referenced_relation ) ||
161+ ( JSON . stringify ( a . referenced_columns ) ) . localeCompare ( JSON . stringify ( b . referenced_columns ) )
162+ )
185163 . map (
186164 ( relationship ) => `{
187165 foreignKeyName: ${ JSON . stringify ( relationship . foreign_key_name ) }
@@ -254,33 +232,11 @@ export type Database = {
254232 relationship . referenced_schema === view . schema &&
255233 relationship . relation === view . name
256234 )
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 ]
278- )
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- } )
235+ . sort ( ( a , b ) =>
236+ a . foreign_key_name . localeCompare ( b . foreign_key_name ) ||
237+ a . referenced_relation . localeCompare ( b . referenced_relation ) ||
238+ ( JSON . stringify ( a . referenced_columns ) ) . localeCompare ( JSON . stringify ( b . referenced_columns ) )
239+ )
284240 . map (
285241 ( relationship ) => `{
286242 foreignKeyName: ${ JSON . stringify ( relationship . foreign_key_name ) }
0 commit comments