ActiveRecordを使ってDBを操作する雑スクリプトを書く流れ


ディレクリを作る

$ mkdir zatsu
$ cd zatsu/
$ bundle init
Writing new Gemfile to /Users/hogelog/tmp/zatsu/Gemfile

ライブラリをインストール

ActiveRecordをGemfileに追加。他に使用するライブラリがある場合もGemfileに記述。
とりあえずここではスクリプトからMySQLに接続するのでmysql2ライブラリも追加。

Gemfile
source "https://rubygems.org"

gem "activerecord"
gem "mysql2"
$ bundle install
...

スクリプトを書く

zatsu.rb
require "active_record"

ActiveRecord::Base.establish_connection(
  adapter: "mysql2",
  host: "localhost",
  username: "root",
  database: "sample",
)

class Article < ActiveRecord::Base
end

# 以下上記モデルを使った処理など

DB接続設定などもスクリプト中に書く。
これでActiveRecord+Rubyを使って柔軟にDB操作をおこなうことができる。
SQLだけじゃ足りないけど真面目にプログラム書く必要までないときはよくやる。

会社のGitHub Enterpriseだとまるっと個人的雑スクリプトリポジトリを作ってそこに放り込んでる。

実行する

$ bundle exec ruby zatsu.rb

うまくいったりいかなかったりする。いかなかったらなおす。うまくいったら喜ぶ。

ログを取る

ものによってはログをとる。

logging.rb
require "logger"

@logger = Logger.new(STDERR)
@logger.info "hoge"
$ bundle exec ruby logging.rb 
I, [2015-11-26T01:56:02.763632 #26408]  INFO -- : hoge

以上。