Sha256: e5d1fcb2af949a0f185cd9ca8b5bc07adcd81d2af360dd8d39928b880106ff12

Contents?: true

Size: 659 Bytes

Versions: 1

Compression:

Stored size: 659 Bytes

Contents

module StrongMigrations
  module Migrator
    def ddl_transaction(migration, ...)
      return super unless StrongMigrations.lock_timeout_retries > 0 && use_transaction?(migration)

      # handle MigrationProxy class
      migration = migration.send(:migration) if migration.respond_to?(:migration, true)

      # retry migration since the entire transaction needs to be rerun
      checker = migration.send(:strong_migrations_checker)
      checker.retry_lock_timeouts(check_committed: true) do
        # failed transaction reverts timeout, so need to re-apply
        checker.timeouts_set = false

        super(migration, ...)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
strong_migrations-2.0.2 lib/strong_migrations/migrator.rb