use*_*454 5 doctrine symfony symfony-console symfony4
使用 Symfony 3 及其控制台,我们可以通过命令“php bin/console algorithm:mapping:import”(非常有用!)从已经存在的数据库生成实体。
从 symfony 4 开始,命令“./bin/console algorithm:mapping:import”需要一个包名,但 symfony 4 现在不适用于包。
使用新版本的 symfony,有没有一种我没有看到从现有数据库(例如 mysql)生成实体的方法?或者我必须等待新版本的学说才能拥有与 Symfony 4 兼容的“学说:映射:导入”?
我找到了一个(n)(丑陋的)解决方案。我部署了一个一次性的 symfony 3,我将 symfony 3 链接到我的数据库,并在一个包中生成实体。然后我将生成的文件复制到 symfony 4。它很难看,但它有效哈哈
您可以使用
php bin/console doctrine:mapping:convert --from-database annotation ./src/Entity
Run Code Online (Sandbox Code Playgroud)
它应该根据数据库设置创建实体。不要忘记添加命名空间,您仍然需要添加 getter 和 setter,但是已经包含了大部分属性,包括注释和一些关系。(来源)
另请注意,Doctrine 在下一个 Doctrine 版本中将不再支持此功能。正如Symfony 文档中所写
此外,从现有数据库生成实体的这一功能将在下一个 Doctrine 版本中完全删除。
归档时间: |
|
查看次数: |
5769 次 |
最近记录: |