Enable loading fixtures from arbitrary locations. [#586 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
This commit is contained in:
parent
9783e66cad
commit
697ee1a50d
|
@ -179,12 +179,15 @@ namespace :db do
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :fixtures do
|
namespace :fixtures do
|
||||||
desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y"
|
desc "Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z."
|
||||||
task :load => :environment do
|
task :load => :environment do
|
||||||
require 'active_record/fixtures'
|
require 'active_record/fixtures'
|
||||||
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
|
ActiveRecord::Base.establish_connection(Rails.env)
|
||||||
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'test', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
|
base_dir = File.join(Rails.root, 'test', 'fixtures')
|
||||||
Fixtures.create_fixtures('test/fixtures', File.basename(fixture_file, '.*'))
|
fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
|
||||||
|
|
||||||
|
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
|
||||||
|
Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue