class SP::Duh::Migrations::Migrator
Attributes
root[R]
Public Class Methods
new(pg_connection, migrations_root)
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 11 def initialize(pg_connection, migrations_root) @pg_connection = pg_connection @root = migrations_root end
Public Instance Methods
connection()
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 9 def connection ; @pg_connection ; end
down(migration_name)
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 17 def down(migration_name) ; migrate(migration_name, :down) ; end
up(migration_name)
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 16 def up(migration_name) ; migrate(migration_name, :up) ; end
Private Instance Methods
migrate(migration_name, direction = :up)
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 21 def migrate(migration_name, direction = :up) _log("Migrating #{direction.to_s} #{migration_name}...", "Migrations::Migrator") run_all_on(File.join(root, migration_name, direction.to_s)) _log("[DONE]", "Migrations::Migrator") end
run_all_on(folder)
click to toggle source
# File lib/sp/duh/migrations/migrator.rb, line 27 def run_all_on(folder) connection.transaction do |t| Dir.glob(File.join(folder, '*.sql')).sort.each do |step| name = File.basename(step, '.*') _log(" #{name}", "Migrations::Migrator") t.exec File.read(step) end end end