Symfony 4,从现有数据库生成实体的方法?

5

使用Symfony 3及其控制台,我们可以通过命令"php bin/console doctrine:mapping:import"(非常有用!)从已有数据库生成实体。

从Symfony 4开始,命令"./bin/console doctrine:mapping:import"需要一个bundle名称,但是Symfony 4现在不再使用bundle。

在新版本的Symfony中,是否有我没发现的方法可以从现有数据库(例如mysql)生成实体?还是必须等待一个与Symfony 4兼容的“doctrine:mapping:import”版本的Doctrine新版本?

我已经找到了一种(丑陋的)解决方案。我部署了一个一次性的Symfony 3,将Symfony 3链接到我的数据库,并在bundle中生成实体。然后我将生成的文件复制到Symfony 4中。虽然很丑陋,但它能够工作。

1个回答

6

您可以使用

php bin/console doctrine:mapping:convert --from-database annotation ./src/Entity

这应该基于数据库设置创建实体。不要忘记添加名称空间,您仍然需要添加getter和setter,但大部分属性,包括注释和一些关系已经包含在内。(来源

此外,请注意,Doctrine将不再支持这个功能在下一个Doctrine版本中。如 Symfony文档所述

此外,下一个Doctrine版本将完全删除从现有数据库生成实体的此功能。


3
我已经寻找类似的东西两天了。这篇文章应该链接到官方的symfony文档,介绍如何根据数据库生成实体。 - Sanjok Gurung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接