レコード退避プラグイン作ってみました。

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というプラグインも本サイトで紹介したことがありますが、そちらのプラグインには「デバッグモードでしか動かない」という痛い欠点が…。

みなさんも素敵なプラグインを作って教えてくださいね!

Leave a Reply

You must be logged in to post a comment.