Doctrine DBAL
  1. Doctrine DBAL
  2. DBAL-50

PgSQL driver does not create indexes on foreign key columns

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-BETA4
    • Fix Version/s: 2.0.0-RC1-RC3
    • Component/s: Schema Managers
    • Labels:
      None

      Description

      The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically... On my system, an index will not be created automatically for the group_id column in the user table.

      /**
       * @Entity
       */
      class User {
          /**
           * @ManyToOne(targetEntity="Group", inversedBy="users")
           */
          protected $group;
      }
      
      /**
       * @Entity
       */
      class Group {
          /**
           * @OneToMany(targetEntity="User", mappedBy="group")
           */
          protected $users;
      
          public function __construct() {
              $this->users = new \Doctrine\Common\Collections\ArrayCollection();
          }
      }
      

      I am using current git clone and PgSQL 8.4.

        Activity

        Petr Motejlek created issue -
        Petr Motejlek made changes -
        Field Original Value New Value
        Description The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically... On my system, an index will not be created automatically for the group_id column in the user table.

        /**
         * @Entity
         */
        class User {
            /**
             * @ManyToOne(targetEntity="Group", inversedBy="users")
             */
            protected $group;
        }

        /**
         * @Entity
         */
        class Group {
            /**
             * @OneToMany(targetEntity="User", mappedBy="group")
             */
            protected $users;

            public function __construct() {
                $this->users = new \Doctrine\Common\Collections\ArrayCollection();
            }
        }

        I am using current git clone and PgSQL 8.4.
        The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically... On my system, an index will not be created automatically for the group_id column in the user table.

        <?php
        /**
         * @Entity
         */
        class User {
            /**
             * @ManyToOne(targetEntity="Group", inversedBy="users")
             */
            protected $group;
        }

        /**
         * @Entity
         */
        class Group {
            /**
             * @OneToMany(targetEntity="User", mappedBy="group")
             */
            protected $users;

            public function __construct() {
                $this->users = new \Doctrine\Common\Collections\ArrayCollection();
            }
        }
        ?>

        I am using current git clone and PgSQL 8.4.
        Petr Motejlek made changes -
        Description The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically... On my system, an index will not be created automatically for the group_id column in the user table.

        <?php
        /**
         * @Entity
         */
        class User {
            /**
             * @ManyToOne(targetEntity="Group", inversedBy="users")
             */
            protected $group;
        }

        /**
         * @Entity
         */
        class Group {
            /**
             * @OneToMany(targetEntity="User", mappedBy="group")
             */
            protected $users;

            public function __construct() {
                $this->users = new \Doctrine\Common\Collections\ArrayCollection();
            }
        }
        ?>

        I am using current git clone and PgSQL 8.4.
        The PostgreSQL database does not create indexes for foreign key columns, the user has to create them by hand. I think that indexes for foreign keys should be created automatically... On my system, an index will not be created automatically for the group_id column in the user table.

        {code:borderStyle=solid}
        /**
         * @Entity
         */
        class User {
            /**
             * @ManyToOne(targetEntity="Group", inversedBy="users")
             */
            protected $group;
        }

        /**
         * @Entity
         */
        class Group {
            /**
             * @OneToMany(targetEntity="User", mappedBy="group")
             */
            protected $users;

            public function __construct() {
                $this->users = new \Doctrine\Common\Collections\ArrayCollection();
            }
        }
        {code}

        I am using current git clone and PgSQL 8.4.
        Roman S. Borschel made changes -
        Assignee Roman S. Borschel [ romanb ] Benjamin Eberlei [ beberlei ]
        Roman S. Borschel made changes -
        Fix Version/s 2.0-RC1 [ 10091 ]
        Benjamin Eberlei made changes -
        Project Doctrine 2 - ORM [ 10032 ] Doctrine DBAL [ 10040 ]
        Key DDC-756 DBAL-50
        Affects Version/s 2.0.0-BETA4 [ 10071 ]
        Affects Version/s 2.0-BETA3 [ 10060 ]
        Affects Version/s 2.0-BETA4 [ 10072 ]
        Component/s Schema Managers [ 10057 ]
        Component/s Tools [ 10015 ]
        Fix Version/s 2.0-RC1 [ 10091 ]
        Benjamin Eberlei made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Benjamin Eberlei made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Fix Version/s 2.0.0-RC1 [ 10094 ]
        Resolution Fixed [ 1 ]
        Benjamin Eberlei made changes -
        Workflow jira [ 11800 ] jira-feedback2 [ 17658 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 17658 ] jira-feedback3 [ 20013 ]

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Petr Motejlek
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: