aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/connections/native_sqlite3
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-01-10 23:09:51 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-01-10 23:09:51 +0000
commita133f3e64f927780d4eac062ba996dffc174431a (patch)
tree9988538b383a105b25231ac0d7e4be72b2bf3a49 /activerecord/test/connections/native_sqlite3
parent903dcefbaff8cf3a0e9db61048aebd9e753835ea (diff)
downloadrails-a133f3e64f927780d4eac062ba996dffc174431a.tar.gz
rails-a133f3e64f927780d4eac062ba996dffc174431a.tar.bz2
rails-a133f3e64f927780d4eac062ba996dffc174431a.zip
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
Diffstat (limited to 'activerecord/test/connections/native_sqlite3')
-rw-r--r--activerecord/test/connections/native_sqlite3/connection.rb34
1 files changed, 34 insertions, 0 deletions
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')