2005-01-10 18:09:51 -05:00
|
|
|
print "Using native SQLite3\n"
|
2008-01-18 02:30:42 -05:00
|
|
|
require_dependency 'models/course'
|
2005-01-10 18:09:51 -05:00
|
|
|
require 'logger'
|
|
|
|
ActiveRecord::Base.logger = Logger.new("debug.log")
|
2005-02-17 14:28:13 -05:00
|
|
|
|
|
|
|
class SqliteError < StandardError
|
|
|
|
end
|
2005-01-10 18:09:51 -05:00
|
|
|
|
2008-01-21 12:20:51 -05:00
|
|
|
BASE_DIR = FIXTURES_ROOT
|
2005-01-10 18:09:51 -05:00
|
|
|
sqlite_test_db = "#{BASE_DIR}/fixture_database.sqlite3"
|
|
|
|
sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite3"
|
|
|
|
|
2006-11-04 21:01:31 -05:00
|
|
|
def make_connection(clazz, db_file)
|
2006-10-08 22:02:27 -04:00
|
|
|
ActiveRecord::Base.configurations = { clazz.name => { :adapter => 'sqlite3', :database => db_file, :timeout => 5000 } }
|
2005-01-10 18:09:51 -05:00
|
|
|
unless File.exist?(db_file)
|
|
|
|
puts "SQLite3 database not found at #{db_file}. Rebuilding it."
|
2007-06-07 21:37:13 -04:00
|
|
|
sqlite_command = %Q{sqlite3 "#{db_file}" "create table a (a integer); drop table a;"}
|
2005-01-10 18:09:51 -05:00
|
|
|
puts "Executing '#{sqlite_command}'"
|
2005-02-17 14:28:13 -05:00
|
|
|
raise SqliteError.new("Seems that there is no sqlite3 executable available") unless system(sqlite_command)
|
2005-01-10 18:09:51 -05:00
|
|
|
end
|
2006-11-04 21:01:31 -05:00
|
|
|
clazz.establish_connection(clazz.name)
|
2005-01-10 18:09:51 -05:00
|
|
|
end
|
|
|
|
|
2006-11-04 21:01:31 -05:00
|
|
|
make_connection(ActiveRecord::Base, sqlite_test_db)
|
|
|
|
make_connection(Course, sqlite_test_db2)
|