読者です 読者をやめる 読者になる 読者になる

auditedを使ってモデルの変更を監視しよう(インストール編)

Ruby Rails

趣味ならともかく、ビジネスに使う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対多の関係にあるという想定でいます。

とりあえず、今日はここまで。次回は、モデルに対して変更を加えたときにどのように監査証跡が取られるかを示します。

続きはこちらをご覧ください