浏览代码

Merge pull request #6943 from cakephp/issue-6918

Restrict constraint reflection to be on the same schema.
José Lorenzo Rodríguez 10 年之前
父节点
当前提交
ca1453ee64
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      src/Database/Schema/MysqlSchema.php

+ 5 - 2
src/Database/Schema/MysqlSchema.php

@@ -222,8 +222,11 @@ class MysqlSchema extends BaseSchema
     {
         $sql = 'SELECT * FROM information_schema.key_column_usage AS kcu
             INNER JOIN information_schema.referential_constraints AS rc
-            ON (kcu.CONSTRAINT_NAME = rc.CONSTRAINT_NAME)
-            WHERE kcu.TABLE_SCHEMA = ? AND kcu.TABLE_NAME = ? and rc.TABLE_NAME = ?';
+            ON (
+                kcu.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
+                AND kcu.CONSTRAINT_SCHEMA = rc.CONSTRAINT_SCHEMA
+            )
+            WHERE kcu.TABLE_SCHEMA = ? AND kcu.TABLE_NAME = ? AND rc.TABLE_NAME = ?';
 
         return [$sql, [$config['database'], $tableName, $tableName]];
     }