class PactBroker::DB::MigrationTask
Attributes
database_connection[RW]
options[RW]
Public Class Methods
new(&block)
click to toggle source
# File lib/pact_broker/tasks/migration_task.rb, line 21 def initialize &block @options = {} rake_task(&block) end
Public Instance Methods
rake_task(&block)
click to toggle source
# File lib/pact_broker/tasks/migration_task.rb, line 26 def rake_task &block namespace :pact_broker do namespace :db do desc "Run sequel migrations for pact broker database" task :migrate, [:target] do | _t, args | require "pact_broker/db/migrate" require "pact_broker/db/version" instance_eval(&block) if args[:target] options[:target] = args[:target].to_i end if (logger = database_connection.loggers.first) current_version = PactBroker::DB::Version.call(database_connection) if options[:target] logger.info "Migrating from schema version #{current_version} to #{options[:target]}" else logger.info "Migrating from schema version #{current_version} to latest" end end PactBroker::DB::Migrate.call(database_connection, options) if logger current_version = PactBroker::DB::Version.call(database_connection) logger.info "Current schema version is now #{current_version}" end end end end end