Sha256: 55615d0f5c047e51ebda24f49ba298b35ad78c1dc54073b2e1a40448b2b656fd
Contents?: true
Size: 917 Bytes
Versions: 2
Compression:
Stored size: 917 Bytes
Contents
module Systematize class Runner DB_FOLDER_PATH = "#{Rack::Directory.new('').root}/db" DATA_MIGRATIONS_PATH = "#{DB_FOLDER_PATH}/data" STRUCTURE_MIGRATIONS_PATH = "#{DB_FOLDER_PATH}/migrate" TEMP_MIGRATIONS_FOLDER_PATH = "#{DB_FOLDER_PATH}/tmp" def self.run(&block) # Create temporary folder where all the migrations will be FileUtils.mkdir(TEMP_MIGRATIONS_FOLDER_PATH) #copy all the files to a temporary folder FileUtils.cp_r(Dir.glob("#{STRUCTURE_MIGRATIONS_PATH}/*.rb"), TEMP_MIGRATIONS_FOLDER_PATH) FileUtils.cp_r(Dir.glob("#{DATA_MIGRATIONS_PATH}/*.rb"), TEMP_MIGRATIONS_FOLDER_PATH) ActiveRecord::Base.transaction do yield(TEMP_MIGRATIONS_FOLDER_PATH) end rescue Exception => e raise e ensure # Remove the temporary folder FileUtils.rm_rf(TEMP_MIGRATIONS_FOLDER_PATH) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
systematize-0.0.2 | lib/systematize/runner.rb |
systematize-0.0.1 | lib/systematize/runner.rb |