码迷,mamicode.com
首页 > 其他好文 > 详细

脱离Rails单独使用ActiveRecord的几点需知

时间:2017-03-23 12:47:28      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:使用   dcl   tde   active   for   注意   record   ring   com   

抛开Rails使用ActiveRecord效果非常好,因为ActiveRecord本身就是一个优秀的DBI!

首先不要再连接中写参数:

#不推荐!!!
ActiveRecord::Base.establish_connection(    
    :adapter=>‘sqlite3‘,    
    :database=>‘data.sqlite3‘,    
    :pool=>5,    
    :timeout=>5000    
) 

而是将所有连接信息放在yml文件里:

adapter: mysql
host: 10.10.10.156
encoding: utf8
database: flight_db
username: xxx
password: xxx

然后直接读取yml文件中的配置:

db_conf = YAML::load(File.open(‘database.yml‘))
ActiveRecord::Base.establish_connection(db_conf)

其次,想要用什么表,你就建立一个它的stub!

class FlightDep < ActiveRecord::Base
end

是滴!你没有看错,你完全没必要再把该表的结构写出来,因为ActiveRecord会帮你统统搞定!!!

不过有2点需要注意:

1.你可能需要手动关联表名:

class FlightArr < ActiveRecord::Base
    self.table_name = "dynamic_flight_arr"
end

2.你可能需要手动关联主键名,尤其是要关联的表不是由Rails创建的:

class Airline < ActiveRecord::Base
    self.table_name = "airlines"
    self.primary_key = "code"
end

ActiveRecord的ORM对应的类必须要有一个主键,否则可以create,但是不能update,会出错。

脱离Rails单独使用ActiveRecord的几点需知

标签:使用   dcl   tde   active   for   注意   record   ring   com   

原文地址:http://blog.csdn.net/mydo/article/details/64926518

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!