2012-11-28 58 views
4

我正在將SF2.1項目部署到生產環境中。
我已經定製了用戶模型,以便需要某些字段。
所以,當我嘗試創建我的超級管理員Symfony2 - 創建超級管理員自定義字段的要求

$ php app/console fos:user:create admin [email protected] my_pass --super-admin 

我越來越

[PDOException]
SQLSTATE [23000]:完整性約束違規:1048列 'my_required_field' 不能爲空

什麼是乾淨的方式來管理呢?
我想象沒有手動插入用戶到表...

回答

6

您應該覆蓋/Command/CreateUserCommand.php中的FOSUserBundle​​方法和/Util/UserManipulator.php文件中的create()方法。通過這樣做,您應該能夠從命令行添加任何其他字段到您的用戶實體。

+0

我認爲有辦法做到這一點,而無需修改文件。好,謝謝。 –

+0

@PierredeLESPINAY你不應該修改文件,但更好地擴展你自己的包中的東西,以保持依賴性一致 - 否則部署將是一團糟! – moonwave99

+0

查看FOSUserBundle文檔。 「覆蓋控制器」頁面可以讓您瞭解如何在您自己的包中擴展功能而不修改FOSUserBundle文件。祝你好運! –

3

您可以以提供所需要的領域,或者只是提供情況在類的構造函數的默認值是標量覆蓋CLI命令。