Doctrine/Symfony 实体生成器和从一个生成实体 table

Doctrine/Symfony entity generator and generating entity from one table

我已经有几个实体了,但是现在数据库中出现了一个新的 table,我只想在这个 table 上生成一个实体。

我已经看到 this,但我还有其他问题。

我已经有一个用户实体(和一个数据库 table)。现在,新的 table 被称为 "Report"(现在没有实体,我想创建它)并且它有一个指向 User 的外键。还有几个外键。

如果我按照上面回答的建议去做,那就是:

$ php app/console doctrine:mapping:import --force AppBundle xml --filter="Report"

$ php app/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="Report"

$ php app/console doctrine:generate:entities AppBundle:Report --no-backup

Doctrine 生成器会尝试修改我的用户实体吗?或者只创建一个报告实体?

顺便说一句。我明白(?),这不会,因为这是 ManyToOne 关系,但让我们暂时假设这是 ManyToMany。

我知道我可以简单地尝试一下,但是上次我执行 doctrine:mapping:import --force 命令时,我的应用程序崩溃了,我花了很多时间来解决这个问题,直到有人在 Whosebug 上告诉我删除 src\AppBundle/Resources/config/doctrine/ 目录,这有帮助。

在运行这个命令之前我没有考虑过备份。

所以,我有点害怕...现在我创建了一个备份,但我不确定这是否会在出现问题时有所帮助。

这取决于/Resources/config/doctrine 目录。如果将其清空并执行您描述的命令,则只会修改 Report 实体。如果您在该目录中有所有以前的映射,它也应该修改 User 实体。

这些命令会自动为您创建实体的备份,因此您将拥有一个新的 User.phpUser.php~ 中的一个备份,如果您使用版本控制,您应该小心并且喜欢 git add src/ 而不想太多。您不想将这些文件添加到源代码管理。

无论如何,都会创建备份,并且您应该在此基础上使用版本控制,所以您应该没问题。