database_cleaner/examples/lib/activerecord_models.rb

42 lines
1.5 KiB
Ruby
Raw Normal View History

require 'active_record'
2010-05-31 03:12:58 +00:00
databases_config = {
2010-05-30 22:08:22 +00:00
"one" => {"adapter" => "#{"jdbc" if defined?(JRUBY_VERSION)}sqlite3", "database" => "#{DB_DIR}/activerecord_one.db"},
"two" => {"adapter" => "#{"jdbc" if defined?(JRUBY_VERSION)}sqlite3", "database" => "#{DB_DIR}/activerecord_two.db"}
}
File.open("#{File.dirname(__FILE__)}/../config/database.yml", 'w') do |file|
file.write(YAML.dump(databases_config))
end
["two","one"].each do |db|
2010-05-30 22:08:22 +00:00
ActiveRecord::Base.establish_connection(databases_config[db])
ActiveRecord::Base.connection.execute('DROP TABLE IF EXISTS "active_record_widgets"')
ActiveRecord::Base.connection.execute('DROP TABLE IF EXISTS "active_record_widget_using_database_ones"')
ActiveRecord::Base.connection.execute('DROP TABLE IF EXISTS "active_record_widget_using_database_twos"')
2010-05-31 03:12:58 +00:00
ActiveRecord::Schema.define(:version => 1) do
create_table :active_record_widgets do |t|
t.string :name
end
2010-05-30 22:08:22 +00:00
create_table :active_record_widget_using_database_ones do |t|
t.string :name
end
2010-05-31 03:12:58 +00:00
2010-05-30 22:08:22 +00:00
create_table :active_record_widget_using_database_twos do |t|
t.string :name
end
end
end
class ActiveRecordWidget < ActiveRecord::Base
end
class ActiveRecordWidgetUsingDatabaseOne < ActiveRecord::Base
establish_connection(:adapter => "#{"jdbc" if defined?(JRUBY_VERSION)}sqlite3", :database => "#{DB_DIR}/activerecord_one.db")
end
class ActiveRecordWidgetUsingDatabaseTwo < ActiveRecord::Base
establish_connection(:adapter => "#{"jdbc" if defined?(JRUBY_VERSION)}sqlite3", :database => "#{DB_DIR}/activerecord_two.db")
end