Sha256: 0d4254bb80f1057f31a8aaf84c2b864266159ecc50c56b594bb1e8ffdae9e606

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

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')

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activerecord-1.5.1 test/connections/native_sqlite3/connection.rb
activerecord-1.5.0 test/connections/native_sqlite3/connection.rb
activerecord-1.6.0 test/connections/native_sqlite3/connection.rb