0

問題は、Symfonyで2つ以上のデータベースが定義されていることです。そして、テーブルスキーマを更新すると

php app/console dotrine:schema:update --force

デフォルトのデータベースにテーブルを作成します。テーブルが属するデータベースを指定したいのですが。どうすればそれができますか?

エンティティにyaml(yml)形式を使用しています。例:

Test\ExampleBundle\Entity\TestTable:
    type: entity
    table: test_table
    id:
        id:
            type: integer
            generator:
                strategy: AUTO
    fields:
        name:
            type: string
            length: 255
        sound:
            type: smallint
4

1 に答える 1

4

ドキュメントの「複数のエンティティ マネージャーと接続を使用する方法」セクションを詳しく見てください。

Doctrine は、複数の接続を持つ機能を提供します。エンティティ マネージャを簡単に追加して、エンティティが属するバンドルに応じて、エンティティをさまざまな定義済み接続にバインドできます。

ドキュメントによると、バンドルをエンティティ マネージャーにバインドできますが、ここでは、同じバンドルで 2 つのエンティティ マネージャーを使用する方法に関するトリックを示します。

エンティティを 1 つのバンドルから別のエンティティ マネージャーにバインドする場合は、"dir" 属性を追加して、特定のエンティティ フォルダーへのパスを定義できます。

例、

    entity_managers:
        default:
            connection:       default
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder1
        myManager:
            connection:       myConnection
            mappings:
                MyBundle:
                    dir:      Path/To/EntityFolder2

次に、バインドされている接続に従って、バンドル エンティティを適切なフォルダーに配置できます。

于 2012-11-12T14:08:57.337 に答える