我有一个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;
}我在{{userId}和{{test}之间添加以下一行:
/**
* @var integer
*
* @ORM\Column(name="superbanana", type="integer", nullable=false)
*/
private $superbanana;然后在控制台中执行:
php app/console doctrine:schema:update --dump-sql它给了我一个答复:
ALTER TABLE users ADD superbanana INT NOT NULL**我该怎么做呢?**
ALTER TABLE users ADD superbanana INT NOT NULL AFTER user_id发布于 2014-06-11 05:54:35
如果不想删除/创建表,可以使用@columnDefinition属性并自己定义列定义。
/**
* @var integer
*
* @ORM\Column(type="integer", columnDefinition="INT NOT NULL AFTER `user_id`")
*/
private $superbanana;发布于 2014-06-10 19:05:09
我认为这是不可能的,因为使用Doctrine意味着您不再关心表是如何管理的(显然以前有人是tried it的)。
而且,由于您从不直接使用MySQL,所以我认为没有为Doctrine指定列订单的实用程序。
但是您可以随时删除您的表,这样Doctrine将完全重新构建该表,同时尊重您的顺序。
https://stackoverflow.com/questions/24148568
复制相似问题