所以我想为具有大量表的数据库中的特定表生成实体。
这是我正在尝试的命令:
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
答案 0 :(得分:2)
我同意Ziumin的观点,即Postgres数据库中的数据类型可能存在问题。可能是Enum或类似的。
我要做的是尝试逐个转换表,直到将其缩小到问题表,然后查看数据类型,这应该是相当明显的。