1

だから私の問題は、エンティティクラスに追加せずにテーブルに tsvector 型の列を追加したことです。実行しようとするdoctrine:schema:update --forceと、このエラーが発生します

Unknown database type tsvector requested, 
Doctrine\DBAL\Platforms\PostgreSqlPlatform may not support it.

doctrine で tsvector 型を作成するか、tsvector 列を削除し、コマンド行でスキーマを更新してから tsvector 列を追加し直す必要がありますか?

4

3 に答える 3

2

あなたが使用していてdoctrineでサポートされていないタイプを常に登録する必要があります

dbal:
    driver:   %database_driver%
    host:     %database_host%
    port:     %database_port%
    dbname:   %database_name%
    user:     %database_user%
    password: %database_password%
    charset:  UTF8
    types:
        tsvector:
            class: myProject\myBundle\Type\tsvectorType
    mapping_types:
        tsvector: tsvector
于 2013-03-30T18:03:26.830 に答える
0

明らかに教義の抽象化レイヤーはそのような型を認識していないため、列がデータベーステーブルで既に定義されていても、そのような型付きの列を使用することはできません...

新しい doctrine custom typeの登録を検討してください。tsvector 型の実装例があります https://gist.github.com/darklow/3129096

于 2013-03-30T17:49:25.703 に答える