趣味ならともかく、ビジネスに使うWebアプリケーションを作る上で必要となってくるのが監査証跡という部分です。
監査証跡とは、簡単に言うと、誰が・いつ・どのような変更をDBに行ったかを取ることを言います。その監査証跡を取るためのgemとして今回紹介するのがauditedです。
インストール
インストールはいつもどおり、Gemfileに
gem 'audited-activerecord'
と書いて、bundle installすればOK。
後は、RailsRootにて
rails g audited:install
と打ちます。すると、「db/migrate/XXXXXXXXXXXXXX_install_audited.rb」というファイルができます(XXXXXXXXXXXXXXは実行時から生成される数字)。
db/migrateの下に出力されることからも想像できるように、これは「audits」というテーブルを作ります。これが監査証跡用のテーブルになります。
早速テーブルを作っておきましょう。RailsRootにて
rake db:migrate
と打てば監査証跡用のテーブルが作成されます。
サンプルプログラムの準備
ついでに、サンプルプログラムの準備をしておきましょう。RailsRootにて、次のコマンドを入力します。
rails g scaffold company name:string rails g scaffold user name:string company:references rake db:migrate
companyとuserは1対多の関係にあるという想定でいます。
とりあえず、今日はここまで。次回は、モデルに対して変更を加えたときにどのように監査証跡が取られるかを示します。
続きはこちらをご覧ください。