5

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

从 symfony 4 开始,命令 "./bin/console dictionary:mapping:import" 需要一个包名,但 symfony 4 现在不能与包一起使用。

使用新版本的 symfony,有没有一种我没有看到的从现有数据库生成实体的方法(例如 mysql)?还是我必须等待新版本的教义才能拥有与 Symfony 4 兼容的“教义:映射:导入”?

我找到了一个(n)(丑陋的)解决方案。我部署了一个一次性的 symfony 3,我将 symfony 3 链接到我的数据库,并在捆绑中生成实体。然后我将生成的文件复制到 symfony 4。它很丑但它可以工作哈哈

4

1 回答 1

5

您可以使用

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

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

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

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

于 2018-03-13T21:08:27.513 回答