1

そのため、大量のテーブルがあるデータベース内の特定のテーブルのエンティティを生成したいと思います。

これが私が試しているコマンドです:

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. 

これで、このコマンドを少数のテーブルしかない小さなデータベースで実行でき、正常に機能するため、データベースである必要があります。

はい、この1つのテーブルをフィルタリングします。

--filter=TblReports

フィルタを削除すると、データベース全体のエンティティが生成されますが、これは望ましくありません。

それが重要な場合は、PostgreSQL8.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
4

1 に答える 1

2

Postgres データベースのデータ型に問題がある可能性が高いという Ziumin に同意します。おそらく列挙型または同様のものです。

問題のあるテーブルに絞り込むまでテーブルを 1 つずつ変換してから、データ型を確認すると、かなり明白になるはずです。

于 2012-12-05T21:11:19.527 に答える