ActiveRecord + SQLite3 を使う


Railsではなく、単体でActiveRecordを使ってみたいと思う。

まず、必要なgemをインストールする。

$  gem install activerecord
$  gem install sqlite3

オンメモリでSQLiteに接続してみる。
ファイルを作りたい場合は、:memory:のとこをファイル名にすればOK.

require "active_record"

# データベースへの接続
ActiveRecord::Base.establish_connection(
  adapter:   'sqlite3',
  database:  ':memory:'
)

# スキーマの設定
class InitialSchema < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string :name
    end
  end

  def self.down
    drop_table :users
  end
end

# マイグレーション
InitialSchema.migrate(:up)

class User < ActiveRecord::Base
end

# モデルを生成
User.create(name: 'hogehoge')

# 表示
p User.all

はじめ、ぐぐった結果、データベースへの接続のとこで、adapter: 'sqlite'とかdbfile: ':memory:'という記述が多かったが、自分の環境ではできなかった。どうやら、新しいバージョンでは変更になったもよう。

ちなみに、rubyとgem(activerecord, sqlite3)のバージョンは

  • ruby : 2.0.0p247
  • activerecord : 4.1.1
  • sqlite3 : 1.3.9

を使用した。

参考URL