Rails Tip:多库操作

我有个需求需要Rails连接mysql和sqlserver,这就需要rails的多数据库操作支持.
rails对mysql原生支持是很好的,所以不需要改动什么.但是操作sqlserver就需要手动配置一下了.
查了一堆资料后记录如下:
需要用到的gem:
github地址

gem 'tiny_tds'
gem 'activerecord-sqlserver-adapter', '~> 4.2.0'

database.yml针对sqlserver的配置

sqlserver_db:
  adapter: sqlserver
  encoding: utf8
  host: localhost
  port: 6381
  database: sqlserver_db
  username: sa
  password: 123456

model的设置:
具体原因参考
在models文件夹下创建一个sqlserver_base.rb的文件,代码为:

class SqlserverBase < ActiveRecord::Base
  establish_connection configurations['sqlserver_db']  #切换到sqlserver
  self.abstract_class = true  #声明该类为抽象类
end

sqlserver表对应的model这样声明:

class Friend < SqlserverBase
  self.table_name = 'Friend'
end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容