Symfony2“;php应用程序/控制台原则:模式:更新--force;多恩斯';不要向表中添加列
我试图通过命令向表中添加列:Symfony2“;php应用程序/控制台原则:模式:更新--force;多恩斯';不要向表中添加列,symfony,doctrine,Symfony,Doctrine,我试图通过命令向表中添加列: php app/console doctrine:schema:update --force 我知道它可以做到这一点,因为我以前做过,并且文档中明确指出: 换句话说,如果添加一个将元数据映射到产品的新属性并再次运行此任务,它将生成将新列添加到现有产品表所需的“alter table”语句 以下是我试图添加为列的字段: /** * @var string * * @ORM\Column(name="service_machine_name", type="st
php app/console doctrine:schema:update --force
我知道它可以做到这一点,因为我以前做过,并且文档中明确指出:
换句话说,如果添加一个将元数据映射到产品的新属性并再次运行此任务,它将生成将新列添加到现有产品表所需的“alter table”语句
以下是我试图添加为列的字段:
/**
* @var string
*
* @ORM\Column(name="service_machine_name", type="string", length=40, nullable=false)
*/
private $serviceMachineName;
但当我打字时:
php应用程序/控制台原则:模式:更新——强制
它告诉我,我的数据库与当前实体同步,但显然不是,因为我的实体类中有一个额外的字段
我还尝试将列名缩短为3个字母(以防万一),但它仍然没有添加列
注意:我已经将列添加到同一数据库(远程)上的另一个表中,它以前工作得很好。您必须首先为这些列创建setter和getter,如下所示
php app/console doctrine:generate:entities Acme/DemoBundle/Entity/User
之后,你必须使用
php app/console doctrine:schema:update --force
您必须首先为这样的列创建setter和getter
php app/console doctrine:generate:entities Acme/DemoBundle/Entity/User
之后,你必须使用
php app/console doctrine:schema:update --force
这个答案是正确的:
但不要在symfony 3中工作,因为此版本需要更改,代码为:
您必须首先为这样的列创建setter和getter
php bin/console doctrine:generate:entities Acme/DemoBundle/Entity/User
之后,你必须使用
php bin/console doctrine:schema:update --force
这个答案是正确的:
但不要在symfony 3中工作,因为此版本需要更改,代码为:
您必须首先为这样的列创建setter和getter
php bin/console doctrine:generate:entities Acme/DemoBundle/Entity/User
之后,你必须使用
php bin/console doctrine:schema:update --force
非常感谢。我生成了getter/setter,当我运行--force命令时,它仍然显示相同的表(没有新列)。然后重新生成实体并添加一些测试字段,但当我再次运行--force时,条令试图基于旧组件创建表,并显示错误:“属性……不存在”…您是否有任何想法,为什么它不基于新字段创建表?谢谢!我生成了getter/setter,当我运行--force命令时,它仍然显示相同的表(没有新列)。然后重新生成实体并添加一些测试字段,但当我再次运行--force时,条令试图基于旧组件创建表,并显示错误:“属性……不存在”…您是否有任何想法,为什么它不基于新字段创建表??