Uploaded image for project: 'Doctrine DBAL'
  1. Doctrine DBAL
  2. DBAL-147

PostgreSqlSchemaManager fails to set foreign key onDelete/Update option properly if table has 'SET NULL' or 'SET DEFAULT' foreign key constraints

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.1.2
    • Component/s: Schema Managers
    • Labels:
      None

      Description

      This table structure:
      CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY(id));
      CREATE TABLE t2 (id INT NOT NULL, fk_id INT DEFAULT NULL);
      ALTER TABLE t2 ADD FOREIGN KEY (fk_id) REFERENCES t1(id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE;

      will cause the listTableForeignKeys to produce incorrect results for the onDelete/Update constraints (the 'DEFAULT' or 'NULL' in 'SET DEFAULT' or 'SET NULL' respectively gets cut off).

      This looks to be fixed in the main branch.

        Activity

        Hide
        kmdm Kenny Millington added a comment -

        Seems to be fixed in:-

        https://github.com/doctrine/dbal/commit/208f995607a544f9606c83d36752a9fd96ed9e64

        Would definitely be nice to have that ported to the 2.1.x branch.

        Show
        kmdm Kenny Millington added a comment - Seems to be fixed in:- https://github.com/doctrine/dbal/commit/208f995607a544f9606c83d36752a9fd96ed9e64 Would definitely be nice to have that ported to the 2.1.x branch.
        Hide
        beberlei Benjamin Eberlei added a comment -

        Fixed and merged for 2.1.2

        Show
        beberlei Benjamin Eberlei added a comment - Fixed and merged for 2.1.2

          People

          • Assignee:
            beberlei Benjamin Eberlei
            Reporter:
            phekmat Payam Hekmat
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: