mirror of
https://github.com/DatabaseCleaner/database_cleaner
synced 2023-03-27 23:22:03 -04:00
Improvements for spec/support/active_record
- All adapters rely on db/config.yml configuration - All adapters load the same schema
This commit is contained in:
parent
64e77d0bfa
commit
d8be115e92
6 changed files with 55 additions and 79 deletions
26
db/config.yml
Normal file
26
db/config.yml
Normal file
|
@ -0,0 +1,26 @@
|
|||
mysql:
|
||||
adapter: mysql
|
||||
database: database_cleaner_test
|
||||
username: root
|
||||
password:
|
||||
host: 127.0.0.1
|
||||
port: 3306
|
||||
encoding: utf8
|
||||
|
||||
mysql2:
|
||||
adapter: mysql
|
||||
database: database_cleaner_test
|
||||
username: root
|
||||
password:
|
||||
host: 127.0.0.1
|
||||
port: 3306
|
||||
encoding: utf8
|
||||
|
||||
postgres:
|
||||
adapter: postgresql
|
||||
database: database_cleaner_test
|
||||
username: postgres
|
||||
password:
|
||||
host: 127.0.0.1
|
||||
encoding: unicode
|
||||
template: template0
|
4
spec/support/active_record/database_setup.rb
Normal file
4
spec/support/active_record/database_setup.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
def db_config
|
||||
config_path = 'db/config.yml'
|
||||
@db_config ||= YAML.load(IO.read(config_path))
|
||||
end
|
|
@ -1,39 +1,19 @@
|
|||
require 'support/active_record/database_setup'
|
||||
require 'support/active_record/schema_setup'
|
||||
|
||||
module MySQL2Helper
|
||||
puts "Active Record #{ActiveRecord::VERSION::STRING}, mysql2"
|
||||
|
||||
# ActiveRecord::Base.logger = Logger.new(STDERR)
|
||||
|
||||
@@mysql2_db_spec = {
|
||||
:adapter => 'mysql2',
|
||||
:host => 'localhost',
|
||||
:username => 'root',
|
||||
:password => '',
|
||||
:encoding => 'utf8'
|
||||
}
|
||||
|
||||
@@db = {:database => 'database_cleaner_test'}
|
||||
|
||||
def active_record_mysql2_setup
|
||||
ActiveRecord::Base.establish_connection(@@mysql2_db_spec)
|
||||
|
||||
ActiveRecord::Base.connection.drop_database @@db[:database] rescue nil
|
||||
ActiveRecord::Base.connection.create_database @@db[:database]
|
||||
|
||||
ActiveRecord::Base.establish_connection(@@mysql2_db_spec.merge(@@db))
|
||||
|
||||
ActiveRecord::Schema.define do
|
||||
create_table :users, :force => true do |t|
|
||||
t.integer :name
|
||||
end
|
||||
end
|
||||
ActiveRecord::Base.establish_connection db_config['mysql2']
|
||||
load_schema
|
||||
end
|
||||
|
||||
def active_record_mysql2_connection
|
||||
ActiveRecord::Base.connection
|
||||
end
|
||||
|
||||
class ::User < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
RSpec.configure do |c|
|
||||
|
|
|
@ -1,39 +1,19 @@
|
|||
require 'support/active_record/database_setup'
|
||||
require 'support/active_record/schema_setup'
|
||||
|
||||
module MySQLHelper
|
||||
puts "Active Record #{ActiveRecord::VERSION::STRING}, mysql"
|
||||
|
||||
# ActiveRecord::Base.logger = Logger.new(STDERR)
|
||||
|
||||
@@mysql_db_spec = {
|
||||
:adapter => 'mysql',
|
||||
:host => 'localhost',
|
||||
:username => 'root',
|
||||
:password => '',
|
||||
:encoding => 'utf8'
|
||||
}
|
||||
|
||||
@@db = {:database => 'database_cleaner_test'}
|
||||
|
||||
def active_record_mysql_setup
|
||||
ActiveRecord::Base.establish_connection(@@mysql_db_spec)
|
||||
|
||||
ActiveRecord::Base.connection.drop_database @@db[:database] rescue nil
|
||||
ActiveRecord::Base.connection.create_database @@db[:database]
|
||||
|
||||
ActiveRecord::Base.establish_connection(@@mysql_db_spec.merge(@@db))
|
||||
|
||||
ActiveRecord::Schema.define do
|
||||
create_table :users, :force => true do |t|
|
||||
t.integer :name
|
||||
end
|
||||
end
|
||||
ActiveRecord::Base.establish_connection db_config['mysql']
|
||||
load_schema
|
||||
end
|
||||
|
||||
def active_record_mysql_connection
|
||||
ActiveRecord::Base.connection
|
||||
end
|
||||
|
||||
class ::User < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
RSpec.configure do |c|
|
||||
|
|
|
@ -1,43 +1,19 @@
|
|||
require 'support/active_record/database_setup'
|
||||
require 'support/active_record/schema_setup'
|
||||
|
||||
module PostgreSQLHelper
|
||||
puts "Active Record #{ActiveRecord::VERSION::STRING}, pg"
|
||||
|
||||
# ActiveRecord::Base.logger = Logger.new(STDERR)
|
||||
|
||||
# createdb database_cleaner_test -E UTF8 -T template0
|
||||
|
||||
@@pg_db_spec = {
|
||||
:adapter => 'postgresql',
|
||||
:database => 'postgres',
|
||||
:host => '127.0.0.1',
|
||||
:username => 'postgres',
|
||||
:password => '',
|
||||
:encoding => 'unicode',
|
||||
:template => 'template0'
|
||||
}
|
||||
|
||||
@@db = {:database => 'database_cleaner_test'}
|
||||
|
||||
# ActiveRecord::Base.establish_connection(@@pg_db_spec)
|
||||
|
||||
# ActiveRecord::Base.connection.drop_database db[:database] rescue nil
|
||||
# ActiveRecord::Base.connection.create_database db[:database]
|
||||
|
||||
def active_record_pg_setup
|
||||
ActiveRecord::Base.establish_connection(@@pg_db_spec.merge(@@db))
|
||||
|
||||
ActiveRecord::Schema.define do
|
||||
create_table :users, :force => true do |t|
|
||||
t.integer :name
|
||||
end
|
||||
end
|
||||
ActiveRecord::Base.establish_connection db_config['postgres']
|
||||
load_schema
|
||||
end
|
||||
|
||||
def active_record_pg_connection
|
||||
ActiveRecord::Base.connection
|
||||
end
|
||||
|
||||
class ::User < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
RSpec.configure do |c|
|
||||
|
|
10
spec/support/active_record/schema_setup.rb
Normal file
10
spec/support/active_record/schema_setup.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
def load_schema
|
||||
ActiveRecord::Schema.define do
|
||||
create_table :users, :force => true do |t|
|
||||
t.integer :name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class ::User < ActiveRecord::Base
|
||||
end
|
Loading…
Reference in a new issue