2014-04-04 78 views
0

因此,我繼承了大約90%完成的Symfony2應用程序,並且正處於需要將某些數據從舊系統導入應用程序的一個點。這不是測試數據的導入,而是以前的應用程序的歷史數據,這些數據是以管道分隔的DSV文件提供給我的。基本上,這意味着我需要進行反向工程的每一行Symfony2將數據導入

我猜做到這一點的最好辦法是通過教義的數據燈具的關係。我發現http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html

我猜這是最好的方式去獲得容器inferface能夠訪問entitymanager,以便我可以創建新的對象,然後用它們的值填充它們DSV?這些實體關係如何在數據夾具中進行映射?

回答

0

燈具是測試的靜態數據。它用於某人'安裝'你的軟件(它爲它創建的,例如基本管理員\主持人\用戶條目和他們的角色等)

順便說一句,不需要使用獨立的軟件包(如fixtures)關於控制檯命令 - 您可以輕鬆完成自己的任務。

您可以這樣做......創建一個特定的包或控制器,只有* some_file *存在時纔會將舊數據轉換爲新數據。如果只需要一次,您可以在本地完成,轉換後 - 刪除此代碼。

+0

這不完全是我在找的東西。我知道我可以編寫一些腳本將數據從DSV推送到我的數據庫中。使用燈具可以讓我正確地將這些數據關聯起來,並且這是我知道保持它可用的唯一方法。 – oflannabhra

+0

正如我所說的,您可以創建自定義控制檯命令(夾具)或在自定義控制器中使用方法。我不知道你想如何插入數據庫你的數據(心靈感應?:))。即使你會找到某種解析器,你仍然必須創建方法來描述它。 = \所以解決方案只有一個,夾具\方法 - 單個調用 - 完成。 – user1954544