我正在用Symfony2開發我的網站的新版本。 我在以前的版本上使用過mysql,現在我使用Doctrine2/Mysql。 我想將我的用戶表導入新版本。我認爲最好的方法是使用Symfony2提供的命令工具。如何從外部mysql數據庫導入數據到Symfony2項目?
但是,我不知道如何瀏覽我的舊mysql數據庫(或mysql轉儲)以執行php腳本來填充我的新數據庫。
任何想法?
我正在用Symfony2開發我的網站的新版本。 我在以前的版本上使用過mysql,現在我使用Doctrine2/Mysql。 我想將我的用戶表導入新版本。我認爲最好的方法是使用Symfony2提供的命令工具。如何從外部mysql數據庫導入數據到Symfony2項目?
但是,我不知道如何瀏覽我的舊mysql數據庫(或mysql轉儲)以執行php腳本來填充我的新數據庫。
任何想法?
我做到了!
我不知道這是否是最好的解決方案,但它的工作原理。
1)進口舊錶在我的新的數據庫
2)問主義內省數據庫,並生成相應的元數據文件。
php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force
3)問學說導入架構,並通過執行以下命令,現在
php app/console doctrine:mapping:import AcmeBlogBundle annotation
建立相關的實體類,我可以用這個EntityManager的在我的舊的數據庫做所有我想要的腳本。
您可以在這裏找到更多的信息:http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html
你不需要有一個新的數據庫,你可以繼續使用實際的數據庫。但是如果你想複製它,你可以使用mysqladmin command tool。
然後,你可以generate your entities from your database。
數據庫模式是完全不同的。我需要瀏覽所有的數據,操作它,並通過使用php腳本來填充我的新聞數據庫,例如'$ user = new User('username');'和'persistAndFlush($ user)' – Jonathan
在這種情況下,您可以設置兩個實體管理者既可以使用新舊數據庫,也可以使用Symfony2任務從舊數據庫獲取所有數據,並將其保存到新數據庫中。 http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html - 我想知道是否可以使用SQL腳本完成。 –
我的舊網站不是Symfony2項目,所以我沒有entityManager。這只是我的問題。我需要在我的symfony2命令工具中瀏覽一個sql轉儲。 – Jonathan