Amazon Redshift adapter for ActiveRecord 5 (Rails 5).
This is based entirely on a fork of aamine's ActiveRecord4 Redshift Adapter with patches only to parts that caused us direct errors when trying to integrate with a Rails 5.0 project.
Write following in Gemfile:
gem 'activerecord-redshift-adapter', git: "git://github.com/LoyaltyNZ/activerecord-redshift-adapter.git"
In database.yml
development:
adapter: redshift
host: your_cluster_name.hashhash.ap-northeast-1.redshift.amazonaws.com
port: 5439
database: dev
username: your_user
password: your_password
encoding: utf8
pool: 3
timeout: 5000
Set all your Redshift database details in config/initilizers/redshift.rb
:
Rails.application.secrets.redshift_config = {
host: ENV['REDSHIFT_HOST'],
port: ENV['REDSHIFT_PORT'],
user: ENV['REDSHIFT_USER'],
password: ENV['REDSHIFT_PASSWORD'],
database: ENV['REDSHIFT_DATABASE'],
adapter: 'redshift'
}
Create a base model for redshift models app/models/redshift_base.rb
:
class RedshiftBase < ActiveRecord::Base
establish_connection Rails.application.secrets.redshift_config
self.abstract_class = true
end
Any models based on a Redshift table can then inherit from this class:
class ExampleTable::RedshiftEvent < RedshiftBase
self.table_name = :example_table
end
MIT license (same as ActiveRecord)