1

所以。我已经有一些现有的 Entity PHP 文件,它们的 getter 和 setter 已经完成并应用于数据库。现在我想添加一个新实体,完成它的 getter 和 setter 并将其应用于数据库。这是我的实体注释文件的样子:

我的实体.php

<?php
// src/Me/MyBundle/Entity/MyEntity.php

namespace Me\MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="MyEntity")
 */
class MyEntity
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer", unique=true)
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $MyEntityID;
}

我应该使用哪些命令来只执行 1 个实体,而不是全部?

例如,要完成所有这些,我在 PHP CLI 下执行此操作:

php app/console doctrine:generate:entities Me\MyBundle

然后,使用 sudo Bash 然后 su - www-data

php app/console doctrine:schema:create

(我必须以 www-data 的身份执行此操作,否则我会从 dev.log 获得拒绝许可)

虽然这需要我删除现有的表。我可以使用:

php app/console doctrine:schema:update

但这会抱怨,除非我使用 --force

我需要什么命令来为这个新实体创建 getter 和 setter 并将其添加到数据库中。

谢谢。

4

1 回答 1

2

要为单个实体生成 getter 和 setter,请以命令的简写符号形式提供它们:

php app/console doctrine:generate:entities MyCustomBundle:User
php app/console doctrine:generate:entities MyCustomBundle/Entity/User

要升级现有数据库,您应该深入了解DoctrineMigrationsBundle并生成一个迁移类,它会进行更新。

于 2013-07-18T20:26:21.663 回答