44 lines
1.3 KiB
Ruby
44 lines
1.3 KiB
Ruby
require 'test/unit'
|
|
RAILS_ROOT = File.join(File.dirname(__FILE__), %w{.. .. .. ..})
|
|
$:.unshift(File.join(File.dirname(__FILE__), %w{.. lib}))
|
|
|
|
unless defined?(ActiveRecord)
|
|
if File.directory? RAILS_ROOT + 'config'
|
|
puts 'using config/boot.rb'
|
|
ENV['RAILS_ENV'] = 'test'
|
|
require File.join(RAILS_ROOT, 'config', 'boot.rb')
|
|
else
|
|
# simply use installed gems if available
|
|
puts 'using rubygems'
|
|
require 'rubygems'
|
|
gem 'actionpack'; gem 'activerecord'; gem 'activesupport'; gem 'rails'
|
|
end
|
|
|
|
%w(action_pack action_controller active_record active_support initializer).each {|f| require f}
|
|
end
|
|
require 'shoulda'
|
|
require 'paper_trail'
|
|
|
|
def connect_to_database
|
|
config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
|
|
ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
|
|
|
|
db_adapter = ENV['DB'] || 'sqlite3'
|
|
|
|
if db_adapter.nil?
|
|
raise "No DB Adapter selected. Pass the DB= option to pick one, or install Sqlite or Sqlite3."
|
|
end
|
|
|
|
ActiveRecord::Base.establish_connection(config[db_adapter])
|
|
end
|
|
|
|
def load_schema
|
|
connect_to_database
|
|
load(File.dirname(__FILE__) + "/schema.rb")
|
|
require File.dirname(__FILE__) + '/../rails/init.rb'
|
|
end
|
|
|
|
def change_schema
|
|
load(File.dirname(__FILE__) + "/schema_change.rb")
|
|
end
|