をまとめようと思ったら公式に神がかり的なマニュアルがあった件。
http://symfony.com/doc/current/book/security.html
http://docs.symfony.gr.jp/symfony2/book/security.html
わかりやすすぎぃぃぃぃぃい。
をまとめようと思ったら公式に神がかり的なマニュアルがあった件。
http://symfony.com/doc/current/book/security.html
http://docs.symfony.gr.jp/symfony2/book/security.html
わかりやすすぎぃぃぃぃぃい。
よくつかうやつ。
■ユーザー作成
php app/console fos:user:create testuser test@example.com p@ssw0rd
■ユーザー有効化
php app/console fos:user:activate testuser
■ユーザー無効化
php app/console fos:user:deactivate testuser
■ユーザーに特定の権限を与える
php app/console fos:user:promote testuser ROLE_ADMIN
■ユーザーから特定の権限を剥奪する
php app/console fos:user:demote testuser ROLE_ADMIN
■ユーザーのパスワードを変更する
php app/console fos:user:change-password testuser newp@ssword
あとは下記公式を参照されたし。
https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/command_line_tools.md
app/console --shell
ってやるとなにやらカッチョイイウェルカムメッセージが表示される!
※何に使うかとかは今度調査する。
その場でエンター押すと使い方が表示されるところまで触った。
■インストール
composer.jsonに下記を追加。
{ ... "require": { ... "doctrine/doctrine-migrations-bundle": "dev-master" ... } ... }
そしてアップデート。
composer update
app/AppKernel.phpを編集。
... $bundles = array( ... new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), ... ); ...
app/console コマンドでdoctrine:migrations:…のコマンド群が確認できれば成功。
■Migrationsの初期化
php app/console doctrine:migrations:status
これで初期化完了。データベース「migration_versions」というマイグレーションのバージョン管理用テーブルが作成される。
■マイグレーションファイルを作成する
エンティティの追加、削除、また変更などがあった際、スキーマアップデートを実行してはいけない。
必ずマイグレーションファイルを生成してからマイグレートを実行するようにする。
具体的にはこう。
例)
何かしらのエンティティを変更、追加、削除した際。
# これで最新のマイグレーション履歴との差分を自動的に計算してマイグレーションファイルを生成してくれる。 php app/console doctrine:migrations:diff
マイグレーションファイルは「app/DoctrineMigrations」以下に「Version[実行日時].php」といった形で生成される。
生成されたマイグレーションファイルのup()メソッドとdown()メソッドを確認して、必要であれば編集する。(基本的にそのまま)
問題がなければ下記コマンドでマイグレーションを実行。
php app/console doctrine:migrations:migrate
これで差分のSQLが実行されDBが最新の状態になる。
マイグレーションの差し戻し(down)は過去の別エントリを参照されたし。
バージョンテーブル上から特定のバージョンを削除する方法。
例)
php app/console doctrine:migrations:version 20140916114424 --delete
といった感じ。
けど基本的にはdown()でバージョンダウンしたほうが破綻しにくくて良さそうだね。
実行したいdown()メソッドが記述してあるバージョンを調べ、下記の通り実行。
php app/console doctrine:migrations:execute [version] --down
※[version]の部分にバージョンナンバーを記述。
これでバージョンが差し戻されるので、後は不要になったマイグレーションファイルを消すなら消す、残すなら残すで完了。
■schemaに変更が生じた際(新規エンティティ追加、既存エンティティの編集など)
1, まずは現在のマイグレーションとの差分を自動生成させる。
php app/console doctrine:migrations:diff
2, 生成されたマイグレーションファイル内のup()とdown()を適切に編集する。
※基本いじらなくてもおkかと。
3, 最後にマイグレーションを実行する。
php app/console doctrine:migrations:migrate
以上で完了。
メモ。
使い方の分からないコマンドは–helpオプションに続けてコマンドを入力すると使い方の例を表示してくれる。
例)
php app/console --help doctrine:migrations:execute
といった感じでコマンド全てに使えるので覚えておくと便利。