sfPropelRemainというプラグインを作ってみました。
update/delete時に自動的に過去のレコードを退避してくれるプラグインです。こないだのサンプルコードを使って作ったので、PropelBehaviorの作成例として見てくださいね!
※インストール※
1) ダウンロード。sfpropelremainplugin.zip
2) pluginディレクトリに置く
※使い方※
1) schema.ymlのテーブルへ_remainという項目を足す
admin_member: id: password: VARCHAR status: VARCHAR updated_at: created_at: _remain: enabled: true ※←これを足す
2) symfonyコマンドでマッパの生成をする。
$ symfony propel-build-model-with-remain $ symfony propel-build-sql-with-remain
3) data/sql に remainというSQLファイルが生成されるのでDBへ投入。
これでsave時に勝手にremainテーブルにレコードが退避されるようになります。
※おわりに※
ちなみに似たような機能のsfPropelAuditPluginというプラグインも本サイトで紹介したことがありますが、そちらのプラグインには「デバッグモードでしか動かない」という痛い欠点が…。
みなさんも素敵なプラグインを作って教えてくださいね!
POSTED BY ryer ON 6 月 13th, 2008. PERMALINK

