class Systematize::Runner
Constants
- DATA_MIGRATIONS_PATH
- DB_FOLDER_PATH
- STRUCTURE_MIGRATIONS_PATH
- TEMP_MIGRATIONS_FOLDER_PATH
Public Class Methods
run() { |TEMP_MIGRATIONS_FOLDER_PATH| ... }
click to toggle source
# File lib/systematize/runner.rb, line 9 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