doctrine:schema:generate生成空转储

时间:2015-03-26 11:43:17

标签: symfony doctrine-orm

我正在创建一个捆绑包,到目前为止,他试图将实体与ORM分开。

到目前为止,我所做的是为经理人创造足够的服务,而且工作正常。

但是我正在努力解决这个问题:在NS\TestBundle\Model中,我创建了抽象模型类,使用XML文件将其映射为 mapped-superclass

然后,我在NS\TestBundle\Entity中创建了一些在这些模型之后继承的实体。

在我想将我的模型与数据库同步之前,它可以正常工作。

app/console doctrine:schema:create --dump-sql

只生成;

我做错了什么?

2 个答案:

答案 0 :(得分:1)

这是我的遗憾:master-superclasses根本不能被抛弃,因为他们的目的是继承。

创建自己的实体(并确保它们在超类之后继承)然后一切都会正常运行。

答案 1 :(得分:0)

默认情况下,doctrine不会查找Model dir。在bundle build方法中,您需要指定自定义映射。

//src/NS/TestBundle/NSTestBundle.php
public function build(ContainerBuilder $container)
{
    $mappings = array(
            realpath(__DIR__ . '/Resources/config/doctrine/model') => 'NS\TestBundle\Model',
        );

    $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings));
}

然后你的映射超类将被正确地插入