2012-11-28 56 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命令。