aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2018-02-27 14:28:45 +0100
committerGitHub2018-02-27 14:28:45 +0100
commitd2c4ef4ae82f156cabf467814d76c2785a580e22 (patch)
tree565f8f81a5faf8d2048c32f1c7e332fe0a670e5a
parentf8609e6c8a4f460473991875df398e4509b09434 (diff)
parent4ddefc4dc33fef81489de4a8318ece9df5f1a6bc (diff)
downloadchouette-core-d2c4ef4ae82f156cabf467814d76c2785a580e22.tar.bz2
Merge pull request #345 from af83/6026-dedicated-env-for-seeds
6026 Use SEED_ENV in seedbank, fallback on Rails.env
-rw-r--r--lib/tasks/seeds.rake19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/tasks/seeds.rake b/lib/tasks/seeds.rake
new file mode 100644
index 000000000..9038b64f9
--- /dev/null
+++ b/lib/tasks/seeds.rake
@@ -0,0 +1,19 @@
+namespace :db do
+
+ include Seedbank::DSL
+
+ base_dependencies = ['db:seed:original']
+ override_dependency = ['db:seed:common']
+
+ namespace :seed do
+ seeds_environment = ENV.fetch("SEED_ENV", Rails.env)
+ glob_seed_files_matching('/*/').each do |directory|
+ environment = File.basename(directory)
+ override_dependency << "db:seed:#{environment}" if defined?(Rails) && seeds_environment == environment
+ end
+ end
+
+ # Override db:seed to run all the common and environments seeds plus the original db:seed.
+ desc 'Load the seed data from db/seeds.rb, db/seeds/*.seeds.rb and db/seeds/ENVIRONMENT/*.seeds.rb. ENVIRONMENT is the env var SEED_ENV or the current environment in Rails.env.'
+ override_seed_task :seed => override_dependency
+end