2012-11-12 135 views
0

問題是我在Symfony中定義了2 +個數據庫。當我更新表架構與Symfony2多個數據庫,爲每個表指定數據庫

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

它使默認數據庫中的表。我想指定表屬於哪個數據庫。我怎麼能這樣做?

我用YAML(陽明)格式的實體,例如:

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 
+0

這從文檔可能有幫助 - http://symfony.com/doc/currentbook/doctrine/multiple_entity_managers.html – qooplmao

回答

4

採取在文檔的How to work with Multiple Entity Managers and Connections節更深入的瞭解。

主義爲您提供了多重連接的能力。您可以輕鬆地添加實體管理器,根據它們所屬的包將您的實體綁定到不同的預定義連接。

根據文檔,你可以綁定捆綁到實體管理器,但這裏是如何在同一個包使用兩個實體經理招

如果你想從一個包綁定實體不同的實體管理器可以添加一個「dir」屬性來定義特定實體文件夾的路徑。

例,

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

然後,您可以把您的捆綁實體到正確的文件夾根據它們綁定到連接。

+0

我試過這個,但文件ü連接我是1.2版本,我使用2.0這不起作用。 – n00b

+0

如果我有2個不同的數據庫1捆綁?它必須知道哪個表屬於哪個數據庫。 – n00b

+0

啊謝謝,我更新了我的答案。 我不認爲你可以在一個包中使用兩個實體管理器,否則你可以爲你的實體單獨包。 –

相關問題