mirror of https://github.com/rails/rails
use rake to create test databases for us
This commit is contained in:
parent
f30a3106f3
commit
2947197421
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue