doctrine:schema:update不遵守列顺序

lep*_*pix 9 php mysql symfony doctrine-orm

Entity在Symfony2中有这个:

<?php

namespace Project\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Users
 *
 * @ORM\Table(name="users")
 * @ORM\Entity
 */
class Users
{
    /**
     * @var integer
     *
     * @ORM\Column(name="user_id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $userId;


    /**
     * @var integer
     *
     * @ORM\Column(name="test", type="integer", nullable=false)
     */
    private $test;
}
Run Code Online (Sandbox Code Playgroud)

我在{{userId}}和{{test}}之间添加以下行:

/**
 * @var integer
 *
 * @ORM\Column(name="superbanana", type="integer", nullable=false)
 */
private $superbanana;
Run Code Online (Sandbox Code Playgroud)

然后我在控制台中执行:

php app/console doctrine:schema:update --dump-sql
Run Code Online (Sandbox Code Playgroud)

它给了我答复:

ALTER TABLE users ADD superbanana INT NOT NULL
Run Code Online (Sandbox Code Playgroud)

**我该怎么办呢?**

ALTER TABLE users ADD superbanana INT NOT NULL AFTER user_id
Run Code Online (Sandbox Code Playgroud)

b.b*_*4rd 13

如果您不想删除/创建表,可以使用@columnDefinition属性并自己定义列定义.

/**
 * @var integer
 *
 * @ORM\Column(type="integer", columnDefinition="INT NOT NULL AFTER `user_id`")
 */
private $superbanana;
Run Code Online (Sandbox Code Playgroud)