Zend 2框架 - 学说从一个给定的一个实体中生成表



我从几天开始与Zend 2合作,我有点麻烦。我们正在使用学说,并试图从实体中生成数据库模式。我在每个模块中指定,其中学说应使用每个模块的Module.config.php文件找到实体。目前,我有2个不同的模块。

module.config.php(mailTemplates(module))

'doctrine' => array(
        'driver' => array(
            'application_entities' => array(
                'class' => 'DoctrineORMMappingDriverAnnotationDriver',
                'cache' => 'array',
                'paths' => (__DIR__ . '/../src/MailTemplates/Model')
            ),
            'orm_default' => array(
                'drivers' => array(
                    'MailTemplatesModel' => 'application_entities'
                ),
            ),
        ),
    ),

和module.config.php(application(module))

'doctrine' => array(
        'driver' => array(
            'application_entities' => array(
                'class' => 'DoctrineORMMappingDriverAnnotationDriver',
                'cache' => 'array',
                'paths' => (__DIR__ . '/../src/Application/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    'ApplicationEntity' => 'application_entities'
                ),
            ),
        ),
    ),

);

当我执行命令以生成实体生成架构时(./vendor/bin/doctrine-module orm:schema-tool:create),它仅创建mailTemplate表,而忽略了应用程序模块。如果我评论MailTemplate模块的模块的行。Config.php,然后再次执行命令,我可以成功地创建了来自应用程序模块实体的表。因此,我想以某种方式覆盖了2个模块中的信息。

我需要从不同模块的不同实体生成DB Shema,但我不知道如何。

谢谢!

的原因是您将相同的名称设置为驱动程序。尽管Zend合并了配置,但它将覆盖具有相同名称的配置。

module.config.php(mailTemplates(module))

[...]
'drivers' => array(    
    'MailTemplatesModel' => 'application_entities' <-- rename this
)
[..]

module.config.php(application(module))

[...]
'drivers' => array(   
    'ApplicationEntity' => 'application_entities'
)
[..]

zf2 module.config.php文件未覆盖。ZF2将所有模块合并到一个文件中。

zend moduleManager listener configListener触发一个特殊事件,zend modulemanager moduleevent :: Event_merge_config在合并了所有配置后,但在传递给ServiceManager之前。通过收听此事件,您可以检查合并的配置并进行操作。

请参阅Zend合并配置文件https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#configuration-configuration-mapper-table

相关内容

  • 没有找到相关文章

最新更新