

Symfony
2.6と、[FOSUserBundle](https://github.com/FriendsOfSymfony/FOSUserBundle)を使い、ユーザー登録が必要なサイトを作ろうとしています。  
デフォルトで用意されているフィールド以外に、String型のカスタムフィールドを持った上でカスタムバリデーションを設定し、指定のDB上のカラムへとORM経由で入力したいと考えました。

<https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_forms.md>  
上記、FOSUserBundleの公式ドキュメントに書いてある通り、src/Acme/UserBundle/Entity/User.php で
FOS\UserBundle\Model\User をオーバーライドする方法でこの機能を実装しようと試みました。

結果として、フォームとバリデーションに関しては正常に動作するようになりました。  
しかし、そこから入力された値が入るはずのカラムが生成されません。  
上記公式ドキュメントの指示通りにString型のカスタムフィールドを実装した後、[このサイト](http://old.ganchiku.com/blog/2012/05/1175.html)を参考に

[code]

    php app/console doctrine:generate:entities Acme
    
[/code]

> [以下出力]  
>  Generating entities for namespace "Acme"  
>  backing up User.php to User.php~  
>  generating Acme\UserBundle\Entity\User

でアクセサを作成し、

[code]

    php console doctrine:schema:update --force
    
[/code]

でスキーマをアップデートし、この時点でカスタムフィールドを格納するカラムがDB上に生成されるはずでした。  
しかし、schema:updateでは以下のメッセージが出力されるのみで、カラムについても追加はされておりませんでした。

> Nothing to update - your database is already in sync with the current entity
> metadata.

結果として、今もバリデーションのみうまく動作しているフォームが/register/にあるのみで、そこに値を入れても保存されず素通りしてしまいます。  
この場合、どうすればカスタムフィールドの値が保存されるようになりますでしょうか。


CC BY-SA 3.0
2015-02-27T16:45:09.883
7236
2015-02-27T16:45:09.883
8050
question
symfony2
Symfony2のFOSUserBundleで、fos_user_registration(登録フォーム)にオリジナルのフォーム及びそこから入力された情報を格納するORM上のカラムを生成したい