天天看點

脫離Rails使用Activerecord

ActiveRecord 是迄今為止我所見到的最好的ORM  library ,除了DB2,支援所有的主流資料庫。如果你想知道如何單獨使用Activerecord,please follow me。

介紹一下我的系統環境:

OS:windows2003

DataBase: Oracle10g

Ruby: 1.8.7 (2008-05-31 patchlevel 0) [i386-mswin32]

activerecord: 2.2.2

activerecord-oracle_enhanced-adapter: 1.1.8

ruby-oci8:1.0.3

準備工作:

1.安裝ruby,不用說了吧

2.安裝activerecord, gem install activerecord

3.安裝adapter, gem install activerecord-oracle_enhanced-adapter

4.建立一個試驗目錄 mkdir dbtest

ok,that's all

建立一個rb檔案,内容如下

require 'rubygems'  
require 'active_record'  
  
ActiveRecord::Base.establish_connection(  
  :adapter  => 'oracle_enhanced',   
  :database => 'test',   #oracle service name
  :username => 'system',   
  :password => 'system')  
           

你還可以把資料庫的配置資訊單獨放在一個檔案中,建立一個檔案database.yml,内容如下

adapter:  oracle_enhanced
database: test
username: system
password: system
           

 更改rb檔案為

require 'rubygems'  
require 'active_record'  
require 'yaml'  
  
dbconfig = YAML::load(File.open('database.yml'))  
ActiveRecord::Base.establish_connection(dbconfig)  
           

 試一試效果

require 'rubygems'  
require 'active_record'  
require 'yaml'    
  
dbconfig = YAML::load(File.open('database.yml'))  
ActiveRecord::Base.establish_connection(dbconfig)  

class User < ActiveRecord::Base 
  set_table_name "my_user"
end  
  
puts User.count  
           

 如果你想給activerecord加上日志,可以這麼做

require 'rubygems'  
require 'active_record'  
require 'yaml'  
require 'logger'  
  
dbconfig = YAML::load(File.open('database.yml'))  
ActiveRecord::Base.establish_connection(dbconfig)  
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))  
  
class User < ActiveRecord::Base
   set_table_name "my_user"
end  
  
puts User.count  
           

這樣就産生了一個database.log檔案

OK,今天就到這裡吧