Sha256: 060e0471d9f13fea483cc82d1054aec4a5359eafc31db94e0235151e6ffa7b0c

Contents?: true

Size: 1.43 KB

Versions: 23

Compression:

Stored size: 1.43 KB

Contents

print "Using native SQLite3\n"
require_dependency 'fixtures/course'
require 'logger'
ActiveRecord::Base.logger = Logger.new("debug.log")

class SqliteError < StandardError
end

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)
  ActiveRecord::Base.configurations = { clazz.name => { :adapter => 'sqlite3', :database => db_file, :timeout => 5000 } }
  unless File.exist?(db_file)
    puts "SQLite3 database not found at #{db_file}. Rebuilding it."
    sqlite_command = %Q{sqlite3 #{db_file} "create table a (a integer); drop table a;"}
    puts "Executing '#{sqlite_command}'"
    raise SqliteError.new("Seems that there is no sqlite3 executable available") unless system(sqlite_command)
    clazz.establish_connection(clazz.name)
    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(clazz.name)
  end
end

make_connection(ActiveRecord::Base, sqlite_test_db, 'sqlite.sql')
make_connection(Course, sqlite_test_db2, 'sqlite2.sql')
load(File.join(BASE_DIR, 'db_definitions', 'schema.rb'))

Version data entries

23 entries across 23 versions & 5 rubygems

Version Path
jstorimer-deep-test-2.0.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-1.4.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-1.3.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-1.2.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-1.1.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-1.0.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-0.2.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
jstorimer-deep-test-0.1.0 sample_rails_project/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
activerecord-1.15.0 test/connections/native_sqlite3/connection.rb
activerecord-1.15.2 test/connections/native_sqlite3/connection.rb
activerecord-1.15.1 test/connections/native_sqlite3/connection.rb
activerecord-1.15.4 test/connections/native_sqlite3/connection.rb
activerecord-1.15.3 test/connections/native_sqlite3/connection.rb
activerecord-1.15.5 test/connections/native_sqlite3/connection.rb
activerecord-1.15.6 test/connections/native_sqlite3/connection.rb
activerecord_authorails-1.0.0 test/connections/native_sqlite3/connection.rb
radiant-0.6.0 vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
radiant-0.6.1 vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
radiant-0.6.2 vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb
radiant-0.6.3 vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb