Add testing support for MySQL and PostgreSQL databases

This commit is contained in:
Ryan Bigg 2013-11-06 15:58:30 +11:00
parent 9eedfb2f3d
commit bbb9e4b112
3 changed files with 27 additions and 5 deletions

View File

@ -21,6 +21,8 @@ Gem::Specification.new do |s|
s.add_development_dependency 'machinist', '~> 1.0.6'
s.add_development_dependency 'faker', '~> 0.9.5'
s.add_development_dependency 'sqlite3', '~> 1.3.3'
s.add_development_dependency 'pg', '0.17.0'
s.add_development_dependency 'mysql2', '0.3.13'
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")

View File

@ -24,7 +24,8 @@ RSpec.configure do |config|
config.before(:suite) do
puts '=' * 80
puts "Running specs against ActiveRecord #{ActiveRecord::VERSION::STRING} and ARel #{Arel::VERSION}..."
connection_name = ActiveRecord::Base.connection.adapter_name
puts "Running specs against #{connection_name}, ActiveRecord #{ActiveRecord::VERSION::STRING} and ARel #{Arel::VERSION}..."
puts '=' * 80
Schema.create
end

View File

@ -1,9 +1,28 @@
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: ':memory:'
)
case ENV['DB']
when "mysql"
ActiveRecord::Base.establish_connection(
adapter: 'mysql2',
database: 'ransack',
encoding: 'utf8'
)
when "postgres"
ActiveRecord::Base.establish_connection(
adapter: 'postgresql',
database: 'ransack',
username: 'postgres',
min_messages: 'warning'
)
else
# Assume SQLite3
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: ':memory:'
)
end
class Person < ActiveRecord::Base
default_scope { order(id: :desc) }