私は自分のdbとそれに対応するエンティティについてビューを作成しました。スキーマ:次のようにsymfony 3 doctrine schema_filter not working
を検証することは、デシベルマッピングは罰金であることを教えてではなくなります。
を私はPHPのbin /コンソール教義を実行するたびにすべてが正常に動作するようですが、
[データベース] FAIL - データベーススキーマが現在のマッピングファイルと同期していません。
これを見ると、検証からテーブルを除外するようにDBALを構成できます。
これは私がconfig.yml(以下のコードの最後の行をチェック)で試みたものです。意図は、検証から "view"で始まる名前のテーブルを除外することです。
doctrine: dbal: default_connection: default connections: default: driver: pdo_mysql host: '%database_host%' port: '%database_port%' dbname: '%database_name%' user: '%database_user%' password: '%database_password%' charset: utf8mb4 default_table_options: charset: utf8mb4 collate: utf8mb4_unicode_ci schema_filter: ~^(?!view_)~
ので、このdocumentationあたりとしてschema_filterはそれを除外する必要がありますが、それはしていません。
私はthis
任意のアイデアなど、他のいくつかの質問に、チェックされていますか? ありがとう
ありがとう@circleandsquare。私はスキーマを更新する方法を知っています。この問題はそうではありませんが、dbを検証/更新するたびにsymfonyがビューを考慮しないようにする方法です。設定にschema_filterを含めることはそれを行うはずだったが、そうではなかった。 symfonyはビューと同じ名前のテーブルを作成しようとしますが、もちろんエラーが発生します。 – BernardA
上記の私の設定でわかるように、私は既にschema_filterディレクティブをインクルードしています。それは動作しません。すなわち、dbのビューをフィルタリングしていません。また、私がこの質問を書いたとき、私は教義の移行を使用していなかった。私はそれをインストールしたが、私は別の問題にぶつかる。この質問を参照してくださいhttps://stackoverflow.com/questions/46825774/how-set-up-symfony-3-doctrine-migrations-with-multiple-db?noredirect=1&lq=1 – BernardA
私はちょうどあなたに言っておきたいのは、スキーマフィルタ正しく動作します。スキーマフィルタはエンティティを無視せず、問題を解決しません。 symfonyはエンティティを除外するコマンドを提供しないため、ビュー用に2つの異なるエンティティマネージャを定義し、他のエンティティ用に2つ目のエンティティマネージャを定義できます。 – circleandsquare