symfony3アプリケーションで2つの異なるデータベースを使用するように設定しました。彼らはかなり類似している、テーブルの構造は同じであり、したがってフィールドです。問題は、たとえば、db1の記事テーブルはdb1_articleと呼ばれ、db2の記事テーブルはdb2_articleです。それらは異なるデータを有するが、同じ構造を有する。今symfony2-doctrineでテーブルプレフィックスをプログラムで変更する方法
、私はそのような記事のためのエンティティを設定しています:
/**
* @ORM\Entity
* @ORM\Table(name="db1_article")
*/
class Article {
...
}
私はdinamicallyどこかのテーブル名を定義することができ、DB2に同じテーブルに対して異なるエンティティを作成するために希望されません重複を避けるために?
おかげで、あなたはそのエンティティの教義のクラスのメタデータを更新するために持ってテーブルを変更するために
私はそれが可能ではないと思います。 Doctrineは '$ em-> persist($ article)'を呼び出す際にどのテーブル名を使うべきかを知ることができましたか? –
私はおそらく、注釈にテーブル名を指定する方法があると思いますか? – user3174311
2つのエンティティマネージャhttp://symfony.com/doc/current/doctrine/multiple_entity_managers.htmlをそれぞれ異なるマッピングファイルセットで使用できます。アノテーションは機能しません。すべてのマッピングデータを保存する教義メタクラスと呼ばれるものもあります。詳細は分かりませんがテーブル名を変更することは可能だと思います。 Doctrineのドキュメントでちょっと覗いてみてください。 – Cerad