lib/seed_dump/perform.rb in seed_dump-0.4.2 vs lib/seed_dump/perform.rb in seed_dump-0.4.3
- old
+ new
@@ -25,10 +25,11 @@
@opts['without_protection'] = env['WITHOUT_PROTECTION'].true? || (env['WITHOUT_PROTECTION'].nil? && @opts['timestamps'])
@opts['skip_callbacks'] = env['SKIP_CALLBACKS'].true?
@opts['models'] = env['MODELS'] || (env['MODEL'] ? env['MODEL'] : "")
@opts['file'] = env['FILE'] || "#{Rails.root}/db/seeds.rb"
@opts['append'] = (env['APPEND'].true? && File.exists?(@opts['file']) )
+ @opts['max'] = env['MAX'] && env['MAX'].to_i > 0 ? env['MAX'].to_i : nil
@ar_options = env['LIMIT'].to_i > 0 ? { :limit => env['LIMIT'].to_i } : {}
@indent = " " * (env['INDENT'].nil? ? 2 : env['INDENT'].to_i)
@opts['models'] = @opts['models'].split(',').collect {|x| x.underscore.singularize.camelize }
@opts['schema'] = env['PG_SCHEMA']
@opts['model_dir'] = env['MODEL_DIR'] || @model_dir
@@ -104,18 +105,28 @@
}
if @opts['without_protection']
options = ', :without_protection => true '
end
-
- "\n#{model}.create([\n" << rows.join(",\n") << "\n]#{options})\n"
+
+ if @opts['max']
+ splited_rows = rows.each_slice(@opts['max']).to_a
+ maxsarr = []
+ splited_rows.each do |sr|
+ maxsarr << "\n#{model}.create([\n" << sr.join(",\n") << "\n]#{options})\n"
+ end
+ maxsarr.join('')
+ else
+ "\n#{model}.create([\n" << rows.join(",\n") << "\n]#{options})\n"
+ end
+
end
def dumpModels
@seed_rb = ""
@models.sort.each do |model|
m = model.constantize
- if m.ancestors.include?(ActiveRecord::Base)
+ if m.ancestors.include?(ActiveRecord::Base) && !m.abstract_class
puts "Adding #{model} seeds." if @opts['verbose']
if @opts['skip_callbacks']
@seed_rb << "#{model}.reset_callbacks :save\n"
@seed_rb << "#{model}.reset_callbacks :create\n"