douzhan6474 2014-06-10 18:41
浏览 67
已采纳

doctrine:schema:update不遵守列顺序

I have this Entity in 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;
}

I add the following line between {{userId}} and {{test}} :

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

Then I execute in console :

php app/console doctrine:schema:update --dump-sql

It give me the response :

ALTER TABLE users ADD superbanana INT NOT NULL

**How can I do to have instead ? **

ALTER TABLE users ADD superbanana INT NOT NULL AFTER user_id
  • 写回答

2条回答 默认 最新

  • dryift6733 2014-06-11 05:54
    关注

    If you don't want to drop/create the table, you can use @columnDefinition attribute and define the column definition yourself.

    /**
     * @var integer
     *
     * @ORM\Column(type="integer", columnDefinition="INT NOT NULL AFTER `user_id`")
     */
    private $superbanana;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。