Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Don't assume Active Record is available. Closes #5497.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4505 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information
jeremy committed Jun 28, 2006
1 parent 0e146d5 commit ce458a7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
2 changes: 2 additions & 0 deletions activerecord/lib/active_record/fixtures.rb
Expand Up @@ -505,6 +505,7 @@ def use_transactional_fixtures?
end

def setup_with_fixtures
return if !defined?(ActiveRecord::Base) || ActiveRecord::Base.configurations.blank?
if pre_loaded_fixtures && !use_transactional_fixtures
raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures'
end
Expand Down Expand Up @@ -535,6 +536,7 @@ def setup_with_fixtures
alias_method :setup, :setup_with_fixtures

def teardown_with_fixtures
return if !defined?(ActiveRecord::Base) || ActiveRecord::Base.configurations.blank?
# Rollback changes.
if use_transactional_fixtures?
ActiveRecord::Base.connection.rollback_db_transaction
Expand Down
2 changes: 2 additions & 0 deletions railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*

* Don't assume Active Record is available. #5497 [bob@sporkmonger.com]

* Mongrel: script/server works on Win32. #5499 [jeremydurham@gmail.com]

* Remove opts.on { |options[:option_name] } style hash assignment. Closes #4440. [nicksieger@gmail.com]
Expand Down
24 changes: 13 additions & 11 deletions railties/lib/tasks/databases.rake
Expand Up @@ -5,16 +5,16 @@ namespace :db do
Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
end

namespace :fixtures do
desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y"
task :load => :environment do
require 'active_record/fixtures'
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'test', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
Fixtures.create_fixtures('test/fixtures', File.basename(fixture_file, '.*'))
end
end
end
namespace :fixtures do
desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y"
task :load => :environment do
require 'active_record/fixtures'
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'test', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
Fixtures.create_fixtures('test/fixtures', File.basename(fixture_file, '.*'))
end
end
end

namespace :schema do
desc "Create a db/schema.rb file that can be portably used against any DB supported by AR"
Expand Down Expand Up @@ -136,7 +136,9 @@ namespace :db do

desc 'Prepare the test database and load the schema'
task :prepare => :environment do
Rake::Task[{ :sql => "db:test:clone_structure", :ruby => "db:test:clone" }[ActiveRecord::Base.schema_format]].invoke
if defined?(ActiveRecord::Base) && !ActiveRecord::Base.configurations.blank?
Rake::Task[{ :sql => "db:test:clone_structure", :ruby => "db:test:clone" }[ActiveRecord::Base.schema_format]].invoke
end
end
end

Expand Down

0 comments on commit ce458a7

Please sign in to comment.