如何使用注释和模式工具指定Doctrine2中新列的位置

时间:2016-09-12 10:01:11

标签: doctrine-orm

有没有办法在注释中指定新添加的列将被注入的位置。

我正在使用doctrine2中的schema-tool,我正在更新实体。我想问,如果有任何方法可以做出这样的事情:

ALTER TABLE 'mytable' ADD COLUMN 'column2' AFTER 'column1'

我尝试过类似的东西,但它不起作用:

/**
 * @Column(type="string")
 */
protected $column1;

/**
 * @Column(type="string", columnDefinition="AFTER column1")
 */
protected $column2;

2 个答案:

答案 0 :(得分:1)

你试过吗

    /**
    * @Column(name="column1", type="string")
    */
    protected $column1;

    /**
     * @Column(name='column2', type="string", columnDefinition="VARCHAR(255) AFTER column1")
     */
    protected $column2;

答案 1 :(得分:0)

谢谢,现在我尝试了它的确有效。但是定义always数据类型真的很无聊。 :(

我可以想象更漂亮的解决方案,比如

 /**
 * @Column(name='column2', type="string", option={"after":"password})
 */
 protected $column2;

但它有效,谢谢