Sha256: a43cce63e75624e1c9a85afdb61d32eeeb7ff0739f544363bee4a4a1ae3a9ba3

Contents?: true

Size: 1.39 KB

Versions: 5

Compression:

Stored size: 1.39 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)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/db/migrate_data.rb
pact_broker-2.79.0 lib/pact_broker/db/migrate_data.rb
pact_broker-2.78.1 lib/pact_broker/db/migrate_data.rb
pact_broker-2.78.0 lib/pact_broker/db/migrate_data.rb
pact_broker-2.77.0 lib/pact_broker/db/migrate_data.rb