Sha256: b5d3e725d8f214ace9cbe4d0550dc6a32a7f92c9f95134f61e9c73ceeff795f4
Contents?: true
Size: 1.44 KB
Versions: 2
Compression:
Stored size: 1.44 KB
Contents
class SeedDump module Environment def dump_using_environment(env = {}) Rails.application.eager_load! models_env = env['MODEL'] || env['MODELS'] models = if models_env models_env.split(',') .collect {|x| x.strip.underscore.singularize.camelize.constantize } else ActiveRecord::Base.descendants end models = models.select do |model| (model.to_s != 'ActiveRecord::SchemaMigration') && \ model.table_exists? && \ model.exists? end append = (env['APPEND'] == 'true') models_exclude_env = env['MODELS_EXCLUDE'] if models_exclude_env models_exclude_env.split(',') .collect {|x| x.strip.underscore.singularize.camelize.constantize } .each { |exclude| models.delete(exclude) } end models.each do |model| model = model.limit(env['LIMIT'].to_i) if env['LIMIT'] SeedDump.dump(model, append: append, batch_size: (env['BATCH_SIZE'] ? env['BATCH_SIZE'].to_i : nil), exclude: (env['EXCLUDE'] ? env['EXCLUDE'].split(',').map {|e| e.strip.to_sym} : nil), file: (env['FILE'] || 'db/seeds.rb'), import: (env['IMPORT'] == 'true')) append = true end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
seed_dump-3.2.4 | lib/seed_dump/environment.rb |
seed_dump-3.2.3 | lib/seed_dump/environment.rb |