zoukankan      html  css  js  c++  java
  • 脱离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')    

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

    Ruby代码 复制代码
    1. adapter:  oracle_enhanced   
    2. database: test   
    3. username: system   
    4. 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)    

     试一试效果

    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    

     如果你想给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    

    这样就产生了一个database.log文件

    OK,今天就到这里吧

  • 相关阅读:
    一个故事讲透供应链的三大战略
    电商系统之订单正向与逆向流程设计
    广告深度预估技术在美团到店场景下的突破与畅想
    美团智能客服核心技术与实践
    供应链里的批次管理,你了解多少
    对于HTML语义化的理解
    前端三大框架中Vue与React区别
    对于mvc模式的理解与学习
    对于javascript里面闭包的理解
    webpack的理解与使用
  • 原文地址:https://www.cnblogs.com/hannover/p/1423528.html
Copyright © 2011-2022 走看看