前回、PostgreSQLの設定について書いたのは、これがやりたかったから!!!
早速やってみた。
やることは↓
- Rails関連のインストール
- ActiveRecord-JDBCのインストール
この2つはgem install railsとgem install ActiveRecord-JDBCでサクっと終わる。
次に、PostgreSQLのJDBCをCLASSPATH環境変数に追加する。
とりあえずCLASSPATH環境変数使うの嫌だけど、ここで変なことして時間を食うのも勿体無いので、とりあえず環境変数に追加しといた。
PostgreSQLにactiverecordという名前でDBを作っておく。
文字コードはUTF-8です。
DBには下のDDLでテーブルを切った。
create table employees ( id serial primary key, name varchar(50), age int )
ActiveRecordのデフォルト設定に従うなら「idという主キーのカラムにシーケンスを割り当てる」「テーブル名は複数形にする」という決まりがある。
ここも従っておく。
早速Rubyのコード!!
PostgreSQLのユーザ名とパスワードをpostgresと仮定した場合のコードです。
require 'rubygems' gem 'ActiveRecord-JDBC' require 'jdbc_adapter' require 'active_record' # DBの接続に関する設定 JDBCと同じやね ActiveRecord::Base.establish_connection( :adapter => 'jdbc', :driver => 'org.postgresql.Driver', :url => 'jdbc:postgresql://localhost:5432/activerecord?user=postgres&password=postgres' ) # employeesテーブルに対応するクラス テーブルが複数形なのに対してクラスは単数形 class Employee < ActiveRecord::Base end # Tarou君10歳をDBに登録 emp = Employee.new emp.name = "Tarou" emp.age = 10 emp.save # 全件取得して画面に出力 Employee.find(:all).each { |emp| puts "#{emp.id}: #{emp.name}" }
うっし。できた!!
ただ、残念なことに…日本語文字化けしてしまいますorz
なぜだぁぁぁぁぁ!