diff options
Diffstat (limited to 'spec/support/connections/sqlite3_connection.rb')
-rw-r--r-- | spec/support/connections/sqlite3_connection.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/support/connections/sqlite3_connection.rb b/spec/support/connections/sqlite3_connection.rb new file mode 100644 index 0000000000..abdbd24fe4 --- /dev/null +++ b/spec/support/connections/sqlite3_connection.rb @@ -0,0 +1,26 @@ +puts "Using native SQLite3" +require "active_record" +require 'logger' + +ActiveRecord::Base.logger = Logger.new("debug.log") + +db_file = "spec/support/fixtures/fixture_database.sqlite3" + +ActiveRecord::Base.configurations = { + "unit" => { + :adapter => 'sqlite3', + :database => db_file, + :timeout => 5000 + } +} + +unless File.exist?(db_file) + puts "SQLite3 database not found at #{db_file}. Rebuilding it." + require 'fileutils' + FileUtils.mkdir_p(File.dirname(db_file)) + sqlite_command = %Q{sqlite3 "#{db_file}" "create table a (a integer); drop table a;"} + puts "Executing '#{sqlite_command}'" + raise "Seems that there is no sqlite3 executable available" unless system(sqlite_command) +end + +ActiveRecord::Base.establish_connection("unit") |