2011-03-08 9 views
2

私はDoctrine 1.xを使ってSymfony 1.4プロジェクトに取り組んでいます。Doctrie_View(ネイティブMySQLビュー用のインターフェイスとして)を使用すると便利な機能です。doctrineを拡張してDBビューを作成するbuild-db

私が理解しているように、ビュー(MVCのビューとは対照的にDBビューのように)は、Doctrineがビューとそれが由来する元のモデルとの関連を維持できるように作成する必要があります。

私は理想的な世界では、symfony doctrine:build --dbタスクの一部としてビューを作成したいと考えています。これを行うための賢明な方法は、オブザーバーパターンとSymfonyのイベントディスパッチャーを使用することですが、Built In-Eventsのリストは、データベーススキーマの作成時にイベントを提供していないようです。

したがって、スキーマの作成時にDoctrineビューを作成するにはどうすればよいですか?

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

答えて

1

教義:私はあなたではなく教義を見るべきだと思う

をSQL-構築:構築-SQLモデル定義からSQL命令を構築するタスクを。

sfDoctrineBuildSqlTask​​クラスを見ると、それはやや単純です。それは本当に教義だけを呼び出すだけです。フックしたい場合は、symfonyではなくのDoctrineイベントをチェックしてください。あなたはまた、教義の移行でビューを作成して何ができるか

移行

。ビューを変更する必要がある場合は、別の移行を作成します(古いものを削除して新しいビューを作成する)。

+0

マイグレーションでやっているとは考えていませんでした。 – BenLanc

関連する問題