我如何告訴Symfony的生成表只是一個包?主義模式創建只是一個捆綁
每次我創建了一個包和運行:
php app/console doctrine:schema:create
它創建我當前的數據庫(具體束)從我所有的捆綁所有表。我不需要那個。
我如何告訴Symfony的生成表只是一個包?主義模式創建只是一個捆綁
每次我創建了一個包和運行:
php app/console doctrine:schema:create
它創建我當前的數據庫(具體束)從我所有的捆綁所有表。我不需要那個。
當你創建一個新的包,只需要使用
既然你的模式已經存在。
有時使用php app/console doctrine:schema:update --force
不能解決問題,因此您可以簡單地評論$ bundle中AppKernel.php中的其他bundle,然後再次使用php app/console doctrine:schema:update --force
,它應該可以工作。
不要忘了取消註釋評論束。
如果你的包被映射到不同的實體管理器,你可以(或必須)使用的架構更新命令參數「--em entity_manager_name」。
例子:
app/console doctrine:schema:update --em my_own_entity_manager_name
假設你有一個使用MySQL數據庫是在src目錄下的文件夾內,例如一個Bundle:
src/Folder/BundleFolder/
而另一個捆綁使用一個PostgreSQL數據庫在你的src目錄中,假設:
src/OtherBundle
要將原則映射到ce rtain實體管理器使用的conf在您的應用程序/配置/ config.yml文件:如user3580495說
orm:
#auto_mapping: true
#default_entity_manager: default
entity_managers:
default:
connection: mysql
mappings:
FolderBundleFolder : ~
other:
connection: pgsql
mappings:
OtherBundle : ~
然後,使用命令:
php app/console doctrine:schema:create --em=other --dump-sql
,看看是怎麼回事PostgreSQL的發生數據庫。
php app/console doctrine:schema:update --em=default --dump-sql
將顯示將要在MySQL數據庫上執行的SQL命令。
在conf文件文件,不要忘了這樣的評論:
#auto_mapping: true
#default_entity_manager: default
這也意味着,當您使用學說update命令,你必須精確的實體管理器每一次,這讓您可以更全面地掌控自己的工作。
不要忘記,--help參數始終是你的朋友爲symfony1.2命令,你也可以找到在文檔中很多信息:
http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html
應用程序/控制檯學說:架構:使用這個命令更新--em my_own_entity_manager_name,對我不起作用,它仍然從所有包創建實體。 – 2017-06-05 16:35:13