Symfony1 Symfony-在不丢失已生成类的情况下向表中添加列

Symfony1 Symfony-在不丢失已生成类的情况下向表中添加列,symfony1,doctrine,symfony-1.4,doctrine-1.2,Symfony1,Doctrine,Symfony 1.4,Doctrine 1.2,如何在不覆盖已生成的类的情况下向数据库表中添加列?(条令)我必须编辑哪些文件 如果我只是在数据库中添加列,我就不能使用ORM的set和get函数。您永远不应该编辑基类(BaseFoo.class.php),因为每次从模式生成模型时,这些基类都会被覆盖。其他文件永远不会被覆盖,因此编辑是安全的。您永远不应该编辑基类(BaseFoo.class.php),因为每次从模式生成模型时,这些基类都会被覆盖。其他文件永远不会被覆盖,因此可以安全地进行编辑。1.2: 转到“模型”文件夹,打开反映已添加列的表的

如何在不覆盖已生成的类的情况下向数据库表中添加列?(条令)我必须编辑哪些文件


如果我只是在数据库中添加列,我就不能使用ORM的set和get函数。

您永远不应该编辑基类(BaseFoo.class.php),因为每次从模式生成模型时,这些基类都会被覆盖。其他文件永远不会被覆盖,因此编辑是安全的。

您永远不应该编辑基类(BaseFoo.class.php),因为每次从模式生成模型时,这些基类都会被覆盖。其他文件永远不会被覆盖,因此可以安全地进行编辑。

1.2: 转到“模型”文件夹,打开反映已添加列的表的生成的类。加

$this->hasColumn('id', 'integer', 8, array(
         'type' => 'integer',
         'autoincrement' => true,
         'primary' => true,
         'length' => '8',
         ));
setTableDefinition
方法

注意,您的更改将在
生成模型
上被覆盖,因此请确保将其填充到YAML/DB模式

请参阅以供参考

原则2 为
注释驱动程序提供的示例,请参阅以了解其他和驱动程序
只需向您的
@实体
类添加新属性,并在其上添加
@列
注释:

/** @Column(type="integer", name="new_column") */
protected $new_column;
原则1.2: 转到“模型”文件夹,打开反映已添加列的表的生成的类。加

$this->hasColumn('id', 'integer', 8, array(
         'type' => 'integer',
         'autoincrement' => true,
         'primary' => true,
         'length' => '8',
         ));
setTableDefinition
方法

注意,您的更改将在
生成模型
上被覆盖,因此请确保将其填充到YAML/DB模式

请参阅以供参考

原则2 为
注释驱动程序提供的示例,请参阅以了解其他和驱动程序
只需向您的
@实体
类添加新属性,并在其上添加
@列
注释:

/** @Column(type="integer", name="new_column") */
protected $new_column;

使用原则迁移。它允许您修改模式、更新数据库和模型,而不会丢失数据库中的现有数据(如果相关)


也适用于symfony 1.4

使用原则迁移。它允许您修改模式、更新数据库和模型,而不会丢失数据库中的现有数据(如果相关)

也适用于symfony 1.4