单表的实体生成

时间:2012-12-05 20:39:45

标签: php postgresql symfony doctrine entity

所以我想为具有大量表的数据库中的特定表生成实体。

这是我正在尝试的命令:

php app/console doctrine:mapping:convert yml ./src/MyNamespace/Bundle/MyNamespaceBundle/Resources/config/doctrine/metadata/orm --from-database --em=my_manager --filter=TblReports --verbose

这是错误:

[Doctrine\DBAL\DBALException]                                                                            
  Unknown database type unknown requested, Doctrine\DBAL\Platforms\PostgreSqlPlatform may not support it. 

现在我可以在一个只有几个表的小型数据库上运行此命令,它运行正常,因此它必须是数据库。

是的我想过滤这一张表:

--filter=TblReports

如果我删除过滤器,它会为整个数据库生成实体,这是我不想要的。

如果重要的话,我正在运行PostgreSQL 8.4和9.1。

其他人有或知道如何解决此问题?

Unknown database type unknown requested

Doctrine Docs

相关型号:

更新:添加my_manager(config.yml)

# Doctrine Configuration
doctrine:
    dbal:
      default_connection: my_database
      connections:
        my_database:
          driver:   pdo_pgsql
          port:     5432
          dbname:   tbl_reports
          user:     foo_user
          password: foo_pass
          charset:  UTF8
          mapping_types:
            bit: string

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        default_entity_manager: my_manager
        entity_managers:
            my_manager:
                connection: my_database
                mappings:
                    MyNamespaceBundle:
                      mapping: true
                      dir: Entity/Reports

在config_dev.yml中(我使用dev和prod yml文件来控制我可以连接的主机)

# Doctrine Configuration
doctrine:
    dbal:
      connections:
        my_database:
          host: 172.0.0.1

1 个答案:

答案 0 :(得分:2)

我同意Ziumin的观点,即Postgres数据库中的数据类型可能存在问题。可能是Enum或类似的。

我要做的是尝试逐个转换表,直到将其缩小到问题表,然后查看数据类型,这应该是相当明显的。