バリケンのRuby日記 RSSフィード

2007-03-20

[] sqlite-rubyとsqlite3-ruby  sqlite-rubyとsqlite3-ruby - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  sqlite-rubyとsqlite3-ruby - バリケンのRuby日記  sqlite-rubyとsqlite3-ruby - バリケンのRuby日記 のブックマークコメント

こないだSQLite 2.8.17を使ったけど、SQLiteにはバージョン2系列とバージョン3系列があるんだね。

じゃあ、バージョン3系列のSQLiteインストールしてみよう!

SQLite3のインストール

こちらSQLite 3.3.13をダウンロードして、展開してできる「sqlite3.dll」をC:\Windows\System32フォルダコピーするよ。

sqlite3-rubyのインストール

gemを使って、sqlite3-rubyインストールするよ。

gem install sqlite3-ruby

ちなみにぼくはsqlite3-ruby-1.2.1-mswin32.gemをインストールしたよ。

オンメモリでのSQLite3を試してみる

こないだ同様、オンメモリでのSQLite3を試してみるよ。とは言っても、「:adapter => 'sqlite'」を「:adapter => 'sqlite3'」に書き換えただけだよ

require 'active_record'

ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :dbfile  => ':memory:'
)

class InitialSchema < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.column :name, :string, :limit => 20, :null => false
      t.column :password, :string, :limit => 20, :null => false
    end
  end

  def self.down
    drop_table :users
  end
end

InitialSchema.migrate(:up)

class User < ActiveRecord::Base
end

User.create(
  :name        => 'username1',
  :password    => 'password1'
)

User.create(
  :name        => 'username2',
  :password    => 'password2'
)

User.create(
  :name        => 'username3',
  :password    => 'password3'
)

User.find(:all).each{|i| puts "#{i.name}: #{i.password}" }

実行結果だよ。

username1: password1
username2: password2
username3: password3

SQLite2とSQLite3は、一緒に入れておいても大丈夫みたいだけど、オンメモリじゃなくてファイルを利用するときはデータベースを共用できないみたいだから注意してね。