2013-01-10 103 views
4

我需要使用燈具將初始用戶放入我的數據庫。Zend Framework 2 - Doctrine 2 - 如何使用燈具

我看了一下這個模塊,它被認爲是相當不錯的:https://github.com/doctrine/data-fixtures

不幸的是,我不知道如何使用它。好吧,我用我的燈具建立一堂課。接着?我習慣於在創建我的數據庫(schema-tool:create)時自動將數據寫入其中。

但是這個連接在哪裏?看起來你必須在代碼中的某個時刻調用Loader?

如果有人能給我一個簡短的教程如何利用這些(或任何其他工作)夾具模塊將是偉大的!

謝謝!

+0

呃,你使用的是正確的cli工具嗎?它默認是'vendor/bin/doctrine-module'。如果您的原則正確設置(即,如果您可以在您的應用程序中使用它),它應該可以工作。 (我可能誤解了你的問題。) –

+0

我使用這個,但我只是不明白如何使用它。我創建一個夾具課程......然後呢?這個例子說了一些我在某個時候使用的Loader(),爲什麼?我想我只需要把我的課程放在某個地方並註冊它?但是如何? – Ron

回答

11

該裝置在DoctrineModule中尚未提供。有一個獨特的模塊用於專門夾具加載與教條,它被稱爲DoctrineDataFixtureModule,可以在GitHub找到。

通過作曲家安裝它:hounddog/doctrine-data-fixture-module並在您的application.config.php中啓用DoctrineDataFixtureModule。如果你已經配置主義,只是添加到您的FooModule的module.config.php:

'data-fixture' => array(
    'location' => __DIR__ . '/../fixtures', 
) 

而且在該模塊的目錄下創建一個名爲‘燈具’的子目錄。把你的課程放在那裏,並運行vendor/bin/doctrine-module data-fixture:import導入燈具。一個夾具類的例子可能看起來像this

+0

謝謝,太棒了!我添加了一個示例類來解釋,當其他人試圖按照你的例子 – Ron

+0

好的,我的編輯被一些神祕的理由拒絕了......也許你可以自己添加它?我認爲這會讓你的帖子更好;) – Ron

+0

編輯被拒絕是因爲它改變了現有的帖子(和帖子的含義)太多。我更新了我的答案,以便鏈接到數據夾具模塊的Github存儲庫,所以有一些示例如何編寫夾具類。 –