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

Symfony 4, a way for generate Entities from an Existing Database?

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

从 symfony 4 开始,命令“./bin/console doctrine:mapping:import”需要一个包名称,但 symfony 4 现在不能使用包。

对于新版本的 symfony,有没有一种我没有看到的从现有数据库生成实体的方法(mysql 例如)?或者我必须等待新版本的学说才能 "doctrine:mapping:import" 与 Symfony 4 兼容吗?

我找到了一个(n)(丑陋的)解决方案。我部署了一个一次性的 symfony 3,我 link 将 symfony 3 放到我的数据库中,然后我在一个包中生成实体。然后我将生成的文件复制到 symfony 4。 很丑但是很管用哈哈

您可以使用

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

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

另请注意,在下一个 Doctrine 版本中,Doctrine 将不再支持此功能。作为written in the Symfony docs

Moreover, this feature to generate entities from existing databases will be completely removed in the next Doctrine version.