1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

use rake to create test databases for us

This commit is contained in:
Aaron Patterson 2011-01-14 14:07:16 -08:00
parent f30a3106f3
commit 2947197421
2 changed files with 9 additions and 9 deletions

View file

@ -72,6 +72,15 @@ end
end
end
rule '.sqlite3' do |t|
sh %Q{sqlite3 "#{t.name}" "create table a (a integer); drop table a;"}
end
task :test_sqlite3 => [
'test/fixtures/fixture_database.sqlite3',
'test/fixtures/fixture_database_2.sqlite3'
]
namespace :mysql do
desc 'Build the MySQL test databases'
task :build_databases do

View file

@ -3,21 +3,12 @@ require_dependency 'models/course'
require 'logger'
ActiveRecord::Base.logger = Logger.new("debug.log")
class SqliteError < StandardError
end
BASE_DIR = FIXTURES_ROOT
sqlite_test_db = "#{BASE_DIR}/fixture_database.sqlite3"
sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite3"
def make_connection(clazz, db_file)
ActiveRecord::Base.configurations = { clazz.name => { :adapter => 'sqlite3', :database => db_file, :timeout => 5000 } }
unless File.exist?(db_file)
puts "SQLite3 database not found at #{db_file}. Rebuilding it."
sqlite_command = %Q{sqlite3 "#{db_file}" "create table a (a integer); drop table a;"}
puts "Executing '#{sqlite_command}'"
raise SqliteError.new("Seems that there is no sqlite3 executable available") unless system(sqlite_command)
end
clazz.establish_connection(clazz.name)
end