0

Symfony2 webapp にマルチバージョン同時実行制御を実装したいと考えています。

これは、どのイベントでもUPDATE、データベースに対して no が実行され、INSERTs のみが実行されることを意味します。この要件に対する Symfony2 によるネイティブ サポートが見つからなかったので、これを手動で実装する方法を考えました。

各エンティティ (例: a ) の通常の ID (主キー) にUser加えて、別のエンティティ プロパティ (例: another ) を追加しますuserID。したがって、ユーザー属性が変更されるたびに、ユーザーのINSERT別の行を単純に作成できます。その行には別IDの がありますが、同じuserIDです。

エンティティは、特定の追加エンティティ ID によって常に識別できます。

しかし、このソリューションにはいくつかの問題があります。通常のエンティティ ID は主キーであり、したがってこのエンティティへのすべての関係の識別子です。結合された主キー (例えばIDplus timestamp、またはIDplus entityID)を作成することもできますが、Symfony2/Doctrine2 は結合された主キーをサポートするように構築されていません

では、Symfony2/Doctrine2 で MVCC を実装するにはどのようにアプローチしますか? これを処理する方法はありますか?それとも、すべての変更を追跡する別の履歴テーブルを使用することをお勧めしますか?

4

0 に答える 0