即使我不要求,教义也会重命名我的所有索引

我对学说和 Symfony 很陌生,我不明白为什么我的迁移总是包含一些用于重命名索引的行。


我更喜欢为索引保留一个可读的语义名称,我应该使用什么选项?


这是我用于创建迁移的命令:


php bin/console make:migration

这是我的实体:



/**

 * ArticleFournisseur

 *

 * @ORM\Table(name="article_fournisseur")

 * @ORM\Entity

 */

class ArticleFournisseur

{

    /**

     * @var int|null

     *

     * @ORM\Column(name="Qte", type="integer", nullable=true)

     */

    private $qte;


    /**

     * @var float|null

     *

     * @ORM\Column(name="Prix_unitaire", type="float", precision=10, scale=0, nullable=true)

     */

    private $prixUnitaire;


    /**

     * @var \Article

     *

     * @ORM\Id

     * @ORM\GeneratedValue(strategy="NONE")

     * @ORM\OneToOne(targetEntity="Article")

     * @ORM\JoinColumn(name="no_article", referencedColumnName="no_article")

     */

    private $NoArticle;


    /**

     * @var \Emplacement

     *

     * @ORM\Id

     * @ORM\GeneratedValue(strategy="NONE")

     * @ORM\OneToOne(targetEntity="Emplacement")

     * @ORM\JoinColumn(name="Id_emplacement", referencedColumnName="Id_emplacement")

     */

    private $idEmplacement;


    /**

     * @var \Fournisseur

     *

     * @ORM\Id

     * @ORM\GeneratedValue(strategy="NONE")

     * @ORM\OneToOne(targetEntity="Fournisseur")

     * @ORM\JoinColumn(name="Id_fournisseur", referencedColumnName="Id_fournisseur")

     */

    private $idFournisseur;


    /**

     * @var \Statut

     *

     * @ORM\Id

     * @ORM\GeneratedValue(strategy="NONE")

     * @ORM\ManyToOne(targetEntity="Statut")

     * @ORM\JoinColumn(name="Id_statut", referencedColumnName="Id_Statut")

     */

    private $idStatut;

}


潇潇雨雨
浏览 81回答 1
1回答

慕码人2483693

Doctrine 允许命名索引(请参阅文档)。例如:/** * ArticleFournisseur * * @ORM\Table(name="article_fournisseur",indexes={@Index(name="idx_idEmplacement", columns={"idEmplacement"})}) * @ORM\Entity */您可以根据需要进行调整。
打开App,查看更多内容
随时随地看视频慕课网APP