Как установить более одного индекса для таблицы в файле сущности доктрины 2 (используя аннотации)? - PullRequest
8 голосов
/ 18 марта 2011

У меня есть два столбца, представляющих дату начала и дату окончания. Если бы я хотел создать для них объединенный индекс, я бы сделал:

* @Table(name="concerts", indexes={@Index(name="concert_dates", columns={"date_start","date_end"})})

Но как мне сделать индекс для каждого из них? Правильный ли следующий способ?

* @Table(name="concerts", indexes={@Index(name="concert_date_start", columns={"date_start"}), @Index(name="concert_date_end", columns={"date_end"})})

Ответы [ 2 ]

12 голосов
/ 03 апреля 2011

Документация говорит, что indexes - это массив @Index аннотаций. Так что я бы сказал, да, это правильно.

10 голосов
/ 27 сентября 2014

Да, у меня это нормально работает. Я сделал это:

/**
 * Class ProductDisplayArea
 * @ORM\Entity
 * @ORM\Table(name="product_display_area", indexes={
 *      @Index(name="product_display_area_product_id", columns={"product_id"}),
 *      @Index(name="product_display_area_productCat_id", columns={"productCat_id"}),
 *      @Index(name="product_display_area_productSCat_id", columns={"productSCat_id"}),
 *      @Index(name="product_display_area_productSSCat_id", columns={"productSSCat_id"})
 * })
 * @ORM\HasLifecycleCallbacks()
 * @ORM\Entity(repositoryClass="Admin\AdminBundle\Entity\ProductDisplayAreaRepository")
 */
...