2016-02-05 83 views
2

我已经有了一些实体,但现在一个新的表出现在数据库中,我只想在这个表上生成一个实体。学说/ Symfony实体生成器和从一个表生成实体

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

我已经有一个用户实体(和一个数据库表)。现在,新表被称为“报告”(现在没有实体,我想创建它),并且它有一个用户的外键。还有几个外键。

如果我做的是在上面的回答暗示,那就是:

$ 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 

意志主义发电机试图修改我的用户实体?或者只是创建一个报告实体?

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

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

在运行此命令之前,我没有考虑做备份。

所以,我有点害怕它......现在我创建了一个备份,但我不确定这是否有助于解决问题。

回答

1

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

的命令会自动创建实体的备份你的,所以你将有一个新的User.phpUser.php~备份,你要小心,如果你正在使用版本控制和喜欢git add src/没有想得好好的,它。您不想将这些文件添加到源代码管理。

无论哪种方式,创建备份,你应该使用最重要的版本控制,所以你应该没问题。

+0

好的,谢谢你对我今天提出的问题的第二个答案:) –

+1

没问题,乐意帮忙。如果另一个人工作,不要忘记设置为接受的答案:) –

+0

我接受了你的答案,你没有看到它? –