Add /shared and /after folders, bump version
This commit is contained in:
parent
44eb896624
commit
1b516b75bd
17
README
17
README
@ -26,13 +26,19 @@ To get started with db_populate, create the folder db/populate in your Rails app
|
|||||||
Any code you put in this folder will be run by db_populate. Optionally, you can create
|
Any code you put in this folder will be run by db_populate. Optionally, you can create
|
||||||
subfolders for your Rails environments, just as you can with config files. db_populate
|
subfolders for your Rails environments, just as you can with config files. db_populate
|
||||||
executes all of the top-level populate files first, followed by any environment-specific
|
executes all of the top-level populate files first, followed by any environment-specific
|
||||||
populate files, sorting each list by name. So, for example, with 4 files in the production
|
populate files, sorting each list by name.
|
||||||
environment, db_populate would order this way:
|
|
||||||
|
Files in the 'shared' subfolder will be run for all environments, sorted with the other
|
||||||
|
files for that environment. Files in the 'after' subfolder will be run after any environment.
|
||||||
|
|
||||||
|
So, for example, with 6 files in the production environment, db_populate would order this way:
|
||||||
|
|
||||||
db/populate/01_roles.rb
|
db/populate/01_roles.rb
|
||||||
db/populate/02_services.rb
|
db/populate/02_services.rb
|
||||||
db/populate/production/01_users.rb
|
db/populate/production/01_users.rb
|
||||||
db/populate/production/02_options.rb
|
db/populate/shared/02_options.db
|
||||||
|
db/populate/production/03_accounts.rb
|
||||||
|
db/populate/after/01_cleanup.rb
|
||||||
|
|
||||||
Within each file, you can place whatever ruby code you like. To help create consistent
|
Within each file, you can place whatever ruby code you like. To help create consistent
|
||||||
records, db_populate adds create_or_update to ActiveRecord::Base. This method looks up
|
records, db_populate adds create_or_update to ActiveRecord::Base. This method looks up
|
||||||
@ -72,7 +78,8 @@ the db_populate tasks available:
|
|||||||
require 'db_populate'
|
require 'db_populate'
|
||||||
|
|
||||||
History
|
History
|
||||||
=======
|
=======
|
||||||
|
2010-08-27 Added /shared and /after conventions
|
||||||
2009-11-26 Allow create_or_update to skip validations (suggestion by Josh Sharpe)
|
2009-11-26 Allow create_or_update to skip validations (suggestion by Josh Sharpe)
|
||||||
2009-11-26 Fix gem version (bug reported by Vitaly Ignatov)
|
2009-11-26 Fix gem version (bug reported by Vitaly Ignatov)
|
||||||
2009-09-15 Add db:reset_and_populate task
|
2009-09-15 Add db:reset_and_populate task
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Gem::Specification.new do |s|
|
Gem::Specification.new do |s|
|
||||||
s.name = "db_populate"
|
s.name = "db_populate"
|
||||||
s.version = "0.2.5"
|
s.version = "0.2.6"
|
||||||
s.date = "2009-11-26"
|
s.date = "2010-08-27"
|
||||||
s.summary = "Seed data populator for Rails"
|
s.summary = "Seed data populator for Rails"
|
||||||
s.email = "MikeG1@larkfarm.com"
|
s.email = "MikeG1@larkfarm.com"
|
||||||
s.homepage = "http://github.com/ffmike/db-populate/tree/master"
|
s.homepage = "http://github.com/ffmike/db-populate/tree/master"
|
||||||
|
10
lib/db_populate.rb
Normal file
10
lib/db_populate.rb
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
require 'rake'
|
||||||
|
module DbPopulate
|
||||||
|
DBP_ROOT = File.dirname(__FILE__)
|
||||||
|
end
|
||||||
|
|
||||||
|
# prevent the task from being loaded multiple times.
|
||||||
|
unless Rake::Task.task_defined? "db:populate"
|
||||||
|
# Load the rakefile so users of the gem get the tasks
|
||||||
|
load File.join(DbPopulate::DBP_ROOT, '..', 'tasks', 'populate.rake')
|
||||||
|
end
|
@ -7,7 +7,11 @@ namespace :db do
|
|||||||
load fixture
|
load fixture
|
||||||
puts "Loaded #{fixture}"
|
puts "Loaded #{fixture}"
|
||||||
end
|
end
|
||||||
Dir[File.join(RAILS_ROOT, 'db', 'populate', RAILS_ENV, '*.rb')].sort.each do |fixture|
|
(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
|
load fixture
|
||||||
puts "Loaded #{fixture}"
|
puts "Loaded #{fixture}"
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user