【问题标题】:DB reverse engineering with symfony 2使用 symfony 2 进行数据库逆向工程
【发布时间】:2012-01-20 01:21:32
【问题描述】:

作者根据http://symfony.com/doc/2.0/cookbook/doctrine/reverse_engineering.html生成.xml数据库描述。

但是没有解释这些描述可以用来做什么:无论如何我们都会生成带有注释的 php 类,并且无论.xml 元数据它们都可以工作。

那么,它们是干什么用的?

是否有任何关于常见使用迁移工作流程的“最佳实践”文章?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    XML 映射描述代替了基于注释的映射。您必须在 YAML、XML、注释和 PHP 之间进行选择以进行映射描述...

    在官方文档的过程中,第一组生成的.xml文件与第二组相同,但没有命名空间解析。这不能在第一步完成(我猜是实体之间的关系..),所以你需要 2 个步骤。实体生成后,您可以删除第一组 .xml 文件。

    【讨论】:

    • 嗯,我可以在没有 .xml 描述的情况下创建 .php 模型
    • @zerkms 是的,因为您使用的是注解而不是 xml。实体可以通过不同的方式进行配置
    • @Inori:是的,我的问题是“为什么作者同时生成”?他们甚至说“一旦生成了元数据文件,您可以通过执行以下两个命令让 Doctrine 导入架构并构建相关的实体类。”这让我很困惑。
    • 使用.xml时不需要单独创建.php实体类,通过php app/console doctrine:generate:entities自动生成。该过程是生成 xml 元数据 > 生成表示元数据的实体。而如果您使用annotation,您基本上会跳过元数据部分并直接配置表示。哪个更好是有争议的,主要是偏好问题,就像.xml vs .yml 用于应用配置。
    • @Inori:所以在文章中他们只是做了不必要的步骤?
    猜你喜欢
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2012-10-09
    • 2017-12-31
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多