Skip to content

Commit

Permalink
chore: add gem to gemspec
Browse files Browse the repository at this point in the history
  • Loading branch information
bethesque committed Mar 22, 2024
1 parent 8ae94f0 commit 1f467b8
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
30 changes: 19 additions & 11 deletions lib/pact_broker/app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -105,24 +105,15 @@ def prepare_database
lock = Sequel::PostgresAdvisoryLock.new(configuration.database_connection, :migrate, :pg_advisory_lock)
if configuration.auto_migrate_db
lock.with_lock do
migration_options = { allow_missing_migration_files: configuration.allow_missing_migration_files }

if PactBroker::DB.is_current?(configuration.database_connection, migration_options)
logger.info "Skipping database migrations as the latest migration has already been applied"
else
logger.info "Migrating database schema"
PactBroker::DB.run_migrations configuration.database_connection, migration_options
logger.info "Database schema version is now #{PactBroker::DB.version(configuration.database_connection)}"
end
ensure_all_database_migrations_are_applied
end
else
logger.info "Skipping database schema migrations as database auto migrate is disabled"
end

if configuration.auto_migrate_db_data
lock.with_lock do
logger.info "Migrating data"
PactBroker::DB.run_data_migrations configuration.database_connection
run_data_migrations
end
else
logger.info "Skipping data migrations"
Expand All @@ -132,6 +123,23 @@ def prepare_database
PactBroker::Webhooks::Service.fail_retrying_triggered_webhooks
end

def ensure_all_database_migrations_are_applied
migration_options = { allow_missing_migration_files: configuration.allow_missing_migration_files }

if PactBroker::DB.is_current?(configuration.database_connection, migration_options)
logger.info "Skipping database migrations as the latest migration has already been applied"
else
logger.info "Migrating database schema"
PactBroker::DB.run_migrations(configuration.database_connection, migration_options)
logger.info "Database schema version is now #{PactBroker::DB.version(configuration.database_connection)}"
end
end

def run_data_migrations
logger.info "Migrating data"
PactBroker::DB.run_data_migrations(configuration.database_connection)
end

def load_configuration_from_database
configuration.load_from_database!
end
Expand Down
1 change: 1 addition & 0 deletions pact_broker.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,5 @@ Gem::Specification.new do |gem|
gem.add_runtime_dependency "anyway_config", "~> 2.1"
gem.add_runtime_dependency "request_store", "~> 1.5"
gem.add_runtime_dependency "moments", "~> 0.2"
gem.add_runtime_dependency "sequel-pg_advisory_lock", "~>0.1"
end

0 comments on commit 1f467b8

Please sign in to comment.