Ruby 脱离 Rails Web 项目单独使用 ActiveRecord

btc022003 · April 22, 2016 · Last by pathbox replied at April 22, 2016 · 2497 hits

在很多时候,我们不需要新建一个 rails 项目生成控制器之类的文件,需要直接单独调用 active_record 对数据库进行操作 (如:设置过期会员的状态、删除长期无用的数据、做定时推送等),执行效率也会高很多。 具体操作如下 (这个是针对 mysql 的,当然只需要根据自己的需求修改数据库链接就好)。

require 'rubygems'
require 'active_record'

# 单独使用active_record对数据库进行查询
ActiveRecord::Base.establish_connection(:adapter=>'mysql2',
  :encoding=> 'utf8',
  :reconnt=> false,
  :timeout=> 5000,
  :username=>'用户名',
  :password=>'数据库密码',
  :host=>'数据库地址',
  :port=>'3306',
  :pool=>'5',
  :database=>'数据库名')

# 对应数据库表的model映射
class Music < ActiveRecord::Base 
end 

# 完成以上内容的配置后,就和rails中的写法一样了
p Music.find_by_src("1").nil?
exit 

如何做定时任务就简单多了,针对不同的操作系统应该有相应的方法。只需要把这个*.rb 做一个.sh 文件调用就好 (如使用 ubuntu 的 crontab 创建定时执行 sh 文件调用写好的 ruby 处理文件)。

逐渐轻量化使用 rails。rails 也可以不用了,直接写 rack server,拿需要的组件。而不是每回都 rails new。当然还是看需求情况了,不过应该会有不少情况可以用 rack 就可以解决

You need to Sign in before reply, if you don't have an account, please Sign up first.