@@ -214,9 +214,11 @@ private function createTableIndexes(SqlSchema\Table $table)
214214 private function createTableForeignKeys (SqlSchema \Table $ table )
215215 {
216216 $ rows = $ this ->connection ->fetchAll ('SELECT
217+ KEY_COLUMN_USAGE.TABLE_SCHEMA,
217218 KEY_COLUMN_USAGE.TABLE_NAME,
218219 KEY_COLUMN_USAGE.COLUMN_NAME,
219220 KEY_COLUMN_USAGE.CONSTRAINT_NAME,
221+ KEY_COLUMN_USAGE.REFERENCED_TABLE_SCHEMA,
220222 KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME,
221223 KEY_COLUMN_USAGE.REFERENCED_COLUMN_NAME,
222224 REFERENTIAL_CONSTRAINTS.UPDATE_RULE,
@@ -237,7 +239,8 @@ private function createTableForeignKeys(SqlSchema\Table $table)
237239 $ name = $ row ['CONSTRAINT_NAME ' ];
238240
239241 if (!isset ($ fks [$ name ])) {
240- $ fks [$ name ] = $ table ->addForeignKey ($ name , [], $ row ['REFERENCED_TABLE_NAME ' ], [])
242+ $ referencedSchema = $ row ['TABLE_SCHEMA ' ] !== $ row ['REFERENCED_TABLE_SCHEMA ' ] ? $ row ['REFERENCED_TABLE_SCHEMA ' ] : NULL ;
243+ $ fks [$ name ] = $ table ->addForeignKey ($ name , [], ($ referencedSchema !== NULL ? "$ referencedSchema. " : '' ) . $ row ['REFERENCED_TABLE_NAME ' ], [])
241244 ->setOnUpdateAction ($ row ['UPDATE_RULE ' ])
242245 ->setOnDeleteAction ($ row ['DELETE_RULE ' ]);
243246 }
0 commit comments