Cake\Database\Schema\PostgresSchema::describeForeignKeySql PHP Method

describeForeignKeySql() public method

{@inheritDoc}
public describeForeignKeySql ( $tableName, $config )
    public function describeForeignKeySql($tableName, $config)
    {
        $sql = "SELECT\n        c.conname AS name,\n        c.contype AS type,\n        a.attname AS column_name,\n        c.confmatchtype AS match_type,\n        c.confupdtype AS on_update,\n        c.confdeltype AS on_delete,\n        c.confrelid::regclass AS references_table,\n        ab.attname AS references_field\n        FROM pg_catalog.pg_namespace n\n        INNER JOIN pg_catalog.pg_class cl ON (n.oid = cl.relnamespace)\n        INNER JOIN pg_catalog.pg_constraint c ON (n.oid = c.connamespace)\n        INNER JOIN pg_catalog.pg_attribute a ON (a.attrelid = cl.oid AND c.conrelid = a.attrelid AND a.attnum = ANY(c.conkey))\n        INNER JOIN pg_catalog.pg_attribute ab ON (a.attrelid = cl.oid AND c.confrelid = ab.attrelid AND ab.attnum = ANY(c.confkey))\n        WHERE n.nspname = ?\n        AND cl.relname = ?\n        ORDER BY name, a.attnum, ab.attnum DESC";
        $schema = empty($config['schema']) ? 'public' : $config['schema'];
        return [$sql, [$schema, $tableName]];
    }