Sha256: 252b6625a9a0315ac8f2b42b5430be8b002263757c3b73ebac1454b8de14215b
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
namespace :data do DATA_MIGRATIONS_PATHS = ['db/data_tasks'] desc 'Prevents existing data tasks from being run' task assume_migrated: :environment do migrations_paths = DATA_MIGRATIONS_PATHS paths = migrations_paths.map {|p| "#{p}/[0-9]*_*.rb" } versions = Dir[*paths].map do |filename| filename.split('/').last.split('_').first.to_i end sm_table = ActiveRecord::Schema.quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name) migrated = ActiveRecord::Schema.select_values("SELECT version FROM #{sm_table}").map { |v| v.to_i } versions_to_insert = (versions - migrated).uniq versions_to_insert.each do |version| ActiveRecord::Schema.execute "INSERT INTO #{sm_table} (version) VALUES ('#{version}')" end end desc 'Runs any data tasks that have not yet been executed.' task migrate: :environment do ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true ActiveRecord::Migrator.migrate(DATA_MIGRATIONS_PATHS, ENV["VERSION"] ? ENV["VERSION"].to_i : nil) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
data_tasks-0.2.0 | lib/tasks/data_tasks.rake |