koeだめ 過去アーカイブ[〜2013-12-14]

最新情報は https://www.pixiv.net/fanbox/creator/3780274 にて

Webアプリケーション用途でなくてもRailsを使っていい

Railsは一応はWebアプリケーションのためのフレームワークであるというのが一般認識だと思います。だからといって、その使い方だけにとらわれる必要はありません。

わたしらの場合、データベースに格納したデータの調査と整合性チェックのための道具としてRailsを使っています。

データの調査

要するにはActiveRecordさまさまです。調査用のSQL考えるのもなかなか面倒なんですが、rails consoleからActiveRecord経由でデータベースを触るようにすると、取得条件や紐付けの条件をとても容易に書くことができます。*1

整合性チェック

モデルにしかるべきリレーションや必須条件などを書いておき、valid?メソッドを一発呼び出せばそのモデルの整合性を簡単にチェックできます。
ただわたしらの扱ってるデータ量が多すぎて、1テーブル全体をチェックしようとしてModel.allとかやろうとしたらとんでもないことになったので、1000件ずつぐらいにわけてぐるぐるまわすようにしました。*2

こっちはもっとエレガントなやり方があるかももしれません。オススメの方法があれば教えていただきたいです。

*1:ソースは手元にないのでまた後日仕事場のエンジニアブログに書きます。

*2:これまたソースは手元にないのでまた後日仕事場のエンジニアブログに書きます。