Sha256: 58c464f31ee25ff669686ea8404811dab809407b9de7f866707bbe638ade9f24

Contents?: true

Size: 1.82 KB

Versions: 2

Compression:

Stored size: 1.82 KB

Contents

Dir.glob(File.expand_path(File.join(__FILE__, "..", "data_migrations", "*.rb"))).sort.each do | path |
  require path
end

# Data migrations run *every* time the broker starts up, after the schema migrations.
# Their purpose is to ensure that data integrity is maintained during rolling migrations
# in architectures with multiple application instances running against the same
# database (eg. EC2 autoscaling group) where "old" data might be inserted by
# the application instance running the previous version of the code AFTER
# the schema migrations have been run on the first application instance with the
# new version of the code.

module PactBroker
  module DB
    class MigrateData
      def self.call database_connection, _options = {}
        DataMigrations::SetPacticipantIdsForVerifications.call(database_connection)
        DataMigrations::SetConsumerIdsForPactPublications.call(database_connection)
        DataMigrations::SetLatestVersionSequenceValue.call(database_connection)
        DataMigrations::SetWebhooksEnabled.call(database_connection)
        DataMigrations::DeleteDeprecatedWebhookExecutions.call(database_connection)
        DataMigrations::SetCreatedAtForLatestPactPublications.call(database_connection)
        DataMigrations::SetCreatedAtForLatestVerifications.call(database_connection)
        DataMigrations::SetExtraColumnsForTags.call(database_connection)
        DataMigrations::SetPacticipantDisplayName.call(database_connection)
        DataMigrations::SetWebhookUuid.call(database_connection)
        DataMigrations::SetConsumerVersionOrderForPactPublications.call(database_connection)
        DataMigrations::SetExtraColumnsForTags.call(database_connection)
        DataMigrations::CreateBranches.call(database_connection)
        DataMigrations::MigrateIntegrations.call(database_connection)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pact_broker-2.91.0 lib/pact_broker/db/migrate_data.rb
pact_broker-2.90.0 lib/pact_broker/db/migrate_data.rb