您当前的位置: 首页 > 

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

发布时间:2017-03-22 19:56:52 ,浏览量:0

抛开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,会出错。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0710s