jam-cloud/web/spec/spec_db.rb

29 lines
1.1 KiB
Ruby

class SpecDb
TEST_DB_NAME="jam_web_test"
def self.recreate_database(db_config)
recreate_database_jdbc(db_config)
end
def self.recreate_database_jdbc(db_config)
db_test_name = db_config["database"]
# jump into the 'postgres' database, just so we have somewhere to 'land' other than our test db,
# since we are going to drop/recreate it
db_config["database"] = "postgres"
ActiveRecord::Base.establish_connection(db_config)
ActiveRecord::Base.connection.execute("DROP DATABASE IF EXISTS #{db_test_name}")
ActiveRecord::Base.connection.execute("CREATE DATABASE #{db_test_name}")
db_config["database"] = db_test_name
JamDb::Migrator.new.migrate(:dbname => db_config["database"], :user => db_config["username"], :password => db_config["password"], :host => db_config["host"])
end
def self.recreate_database_pg
conn = PG::Connection.open("dbname=postgres")
conn.exec("DROP DATABASE IF EXISTS #{TEST_DB_NAME}")
conn.exec("CREATE DATABASE #{TEST_DB_NAME}")
JamDb::Migrator.new.migrate(:dbname => TEST_DB_NAME)
end
end