db_populate/lib/tasks/populate.rake

30 lines
1.1 KiB
Ruby

namespace :db do
desc "Loads initial database models for the current environment."
task :populate => :environment do
require 'create_or_update'
Dir[File.join(RAILS_ROOT, 'db', 'populate', '*.rb')].sort.each do |fixture|
load fixture
puts "Loaded #{fixture}"
end
(Dir[File.join(RAILS_ROOT, 'db', 'populate', RAILS_ENV, '*.rb')] + Dir[File.join(RAILS_ROOT, 'db', 'populate', 'shared', '*.rb')]).sort{|x,y| File.basename(x) <=> File.basename(y)}.each do |fixture|
load fixture
puts "Loaded #{fixture}"
end
Dir[File.join(RAILS_ROOT, 'db', 'populate', 'after', '*.rb')].sort.each do |fixture|
load fixture
puts "Loaded #{fixture}"
end
end
desc "Runs migrations and then loads seed data"
task :migrate_and_populate => [ 'db:migrate', 'db:populate' ]
task :migrate_and_load => [ 'db:migrate', 'db:populate' ]
desc "Drop and reset the database for the current environment and then load seed data"
task :reset_and_populate => [ 'db:reset', 'db:populate']
task :reset_and_load => [ 'db:reset', 'db:populate']
end