脱离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文件,内容如下

 

Ruby代码 复制代码
  1. require 'rubygems'     
  2. require 'active_record'     
  3.      
  4. ActiveRecord::Base.establish_connection(     
  5.   :adapter  => 'oracle_enhanced',      
  6.   :database => 'test',   #oracle service name   
  7.   :username => 'system',      
  8.   :password => 'system')    
require 'rubygems'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter  => 'oracle_enhanced',
:database => 'test',   #oracle service name
:username => 'system',
:password => 'system')  

 

 

你还可以把数据库的配置信息单独放在一个文件中,创建一个文件database.yml,内容如下

 

Ruby代码 复制代码
  1. adapter:  oracle_enhanced   
  2. database: test   
  3. username: system   
  4. password: system  
adapter:  oracle_enhanced
database: test
username: system
password: system

 

 更改rb文件为

 

Ruby代码 复制代码
  1. require 'rubygems'     
  2. require 'active_record'     
  3. require 'yaml'     
  4.      
  5. dbconfig = YAML::load(File.open('database.yml'))     
  6. ActiveRecord::Base.establish_connection(dbconfig)    
require 'rubygems'
require 'active_record'
require 'yaml'
dbconfig = YAML::load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(dbconfig)

 试一试效果

 

Ruby代码 复制代码
  1. require 'rubygems'     
  2. require 'active_record'     
  3. require 'yaml'       
  4.      
  5. dbconfig = YAML::load(File.open('database.yml'))     
  6. ActiveRecord::Base.establish_connection(dbconfig)     
  7.   
  8. class User < ActiveRecord::Base    
  9.   set_table_name "my_user"  
  10. end     
  11.      
  12. puts User.count    
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加上日志,可以这么做

 

Ruby代码 复制代码
  1. require 'rubygems'     
  2. require 'active_record'     
  3. require 'yaml'     
  4. require 'logger'     
  5.      
  6. dbconfig = YAML::load(File.open('database.yml'))     
  7. ActiveRecord::Base.establish_connection(dbconfig)     
  8. ActiveRecord::Base.logger = Logger.new(File.open('database.log''a'))     
  9.      
  10. class User < ActiveRecord::Base   
  11.    set_table_name "my_user"  
  12. end     
  13.      
  14. puts User.count    
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,今天就到这里吧

 

转载于:https://www.cnblogs.com/hannover/archive/2009/03/27/1423528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值