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.

        Issue Links

          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 ]
          Steve Müller made changes -
          Link This issue is referenced by DBAL-1063 [ DBAL-1063 ]
          Marco Pivetta made changes -
          Link This issue is referenced by DDC-3478 [ DDC-3478 ]

            People

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

              Dates

              • Created:
                Updated:
                Resolved: