【发布时间】:2018-03-07 00:49:34
【问题描述】:
我从几天前开始使用 Zend 2,但遇到了一些麻烦。我们正在使用学说,并尝试从实体生成数据库模式。我在每个模块中指定学说应该使用每个模块的 module.config.php 文件找到实体的位置。目前我有 2 个模块和 2 个不同的 module.config 文件,这些是我指定 Doctrine 应该找到实体的路径的行:
module.config.php(邮件模板(模块))
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => (__DIR__ . '/../src/MailTemplates/Model')
),
'orm_default' => array(
'drivers' => array(
'MailTemplates\Model' => 'application_entities'
),
),
),
),
和module.config.php(应用程序(模块))
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => (__DIR__ . '/../src/Application/Entity')
),
'orm_default' => array(
'drivers' => array(
'Application\Entity' => 'application_entities'
),
),
),
),
);
当我执行命令从实体 (./vendor/bin/doctrine-module orm:schema-tool:create) 生成架构时,它只创建 MailTemplate 表,而忽略应用程序模块表。如果我注释 MailTemplate 模块的 module.config.php 的行,并再次执行该命令,我可以看到 Application Module 实体中的表已成功创建。所以我想不知何故,来自 2 个 module.config 文件的信息被覆盖了。
我需要从不同模块的不同实体生成 DB shema,但我不知道如何。
谢谢!!
【问题讨论】:
标签: doctrine-orm zend-framework2