From a133f3e64f927780d4eac062ba996dffc174431a Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 10 Jan 2005 23:09:51 +0000 Subject: Added SQLite3 compatibility through the sqlite3-ruby adapter by Jamis Buck #381 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@374 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../test/connections/native_sqlite3/connection.rb | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 activerecord/test/connections/native_sqlite3/connection.rb (limited to 'activerecord/test/connections/native_sqlite3') diff --git a/activerecord/test/connections/native_sqlite3/connection.rb b/activerecord/test/connections/native_sqlite3/connection.rb new file mode 100644 index 0000000000..573d942716 --- /dev/null +++ b/activerecord/test/connections/native_sqlite3/connection.rb @@ -0,0 +1,34 @@ +print "Using native SQLite3\n" +require 'fixtures/course' +require 'logger' +ActiveRecord::Base.logger = Logger.new("debug.log") +ActiveRecord::Base.logger.level = Logger::DEBUG + +BASE_DIR = File.expand_path(File.dirname(__FILE__) + '/../../fixtures') +sqlite_test_db = "#{BASE_DIR}/fixture_database.sqlite3" +sqlite_test_db2 = "#{BASE_DIR}/fixture_database_2.sqlite3" + +def make_connection(clazz, db_file, db_definitions_file) + unless File.exist?(db_file) + puts "SQLite3 database not found at #{db_file}. Rebuilding it." + sqlite_command = "sqlite3 #{db_file} 'create table a (a integer); drop table a;'" + puts "Executing '#{sqlite_command}'" + `#{sqlite_command}` + clazz.establish_connection( + :adapter => "sqlite3", + :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 => "sqlite3", + :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