2

私はDoctrine1.xとDoctrie_View(ネイティブMySQLビューのインターフェースとして)を使用する価値のある機能を備えたSymfony1.4プロジェクトに取り組んでいます。

私が理解しているように、ビュー(MVCのビューではなくDBビューの場合)は、Doctrineがビューとそれが派生した元のモデルとの間の関連付けを維持できるようにDoctrineで作成する必要があります。

symfony doctrine:build --db理想的な世界では、タスクの一部としてビューを作成してもらいたいと思います。これを行うための賢明な方法は、オブザーバーパターンとSymfonyのイベントディスパッチャーを使用することですが、組み込みイベントのリストは、データベーススキーマが構築されたときのイベントを提供していないようです。

では、スキーマの構築時にDoctrineビューを作成するための最良の方法は何でしょうか。

または、それがオプションでない場合は、ビューが存在しないかどうかを確認してから、ビューの一部として作成しProjectConfiguration::configureDoctrine()ますか?

4

1 に答える 1

1

教義:build-sql

モデル定義からSQL命令を構築する doctrine:build-sqlタスクを見たほうがいいと思います。

sfDoctrineBuildSqlTask​​ クラスを見ると、かなり単純であることがわかります。実際にはドクトリン cli のみを呼び出します。それにフックしたい場合は、symfony ではなくDoctrine イベントをチェックする必要があります。

移行

また、ドクトリンの移行でビューを作成することもできます。ビューを変更する必要があるときはいつでも、別の移行を作成します (古いビューを削除して新しいビューを作成します)。

于 2011-03-09T10:31:46.770 に答える