From db045dbbf60b53dbe013ef25554fd013baf88134 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 24 Nov 2004 01:04:44 +0000 Subject: Initial git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../test/connections/native_sqlite/connection.rb | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 activerecord/test/connections/native_sqlite/connection.rb (limited to 'activerecord/test/connections/native_sqlite') diff --git a/activerecord/test/connections/native_sqlite/connection.rb b/activerecord/test/connections/native_sqlite/connection.rb new file mode 100644 index 0000000000..db688bdb70 --- /dev/null +++ b/activerecord/test/connections/native_sqlite/connection.rb @@ -0,0 +1,34 @@ +print "Using native SQlite\n" +require 'fixtures/course' +require 'logger' +ActiveRecord::Base.logger = Logger.new("debug.log") + +BASE_DIR = File.expand_path(File.dirname(__FILE__) + '/../../fixtures') +sqlite_test_db = "#{BASE_DIR}/fixture_database.sqlite" +sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite" + +def make_connection(clazz, db_file, db_definitions_file) + unless File.exist?(db_file) + puts "SQLite database not found at #{db_file}. Rebuilding it." + sqlite_command = "sqlite #{db_file} 'create table a (a integer); drop table a;'" + puts "Executing '#{sqlite_command}'" + `#{sqlite_command}` + clazz.establish_connection( + :adapter => "sqlite", + :dbfile => db_file) + script = File.read("#{BASE_DIR}/db_definitions/#{db_definitions_file}") + # SQLite-Ruby has problems with semi-colon separated commands, so split and execute one at a time + script.split(';').each do + |command| + clazz.connection.execute(command) unless command.strip.empty? + end + else + clazz.establish_connection( + :adapter => "sqlite", + :dbfile => db_file) + end +end + +make_connection(ActiveRecord::Base, sqlite_test_db, 'sqlite.sql') +make_connection(Course, sqlite_test_db2, 'sqlite2.sql') + -- cgit v1.2.3