module StrongMigrations

Constants

VERSION

Attributes

auto_analyze[RW]
check_down[RW]
checks[RW]
enabled_checks[RW]
error_messages[RW]
lock_timeout[RW]
lock_timeout_limit[W]
safe_by_default[RW]
start_after[RW]
statement_timeout[RW]
target_mariadb_version[RW]
target_mysql_version[RW]
target_postgresql_version[RW]
target_version[RW]

Public Class Methods

add_check(&block) click to toggle source
# File lib/strong_migrations.rb, line 260
def self.add_check(&block)
  checks << block
end
check_enabled?(check, version: nil) click to toggle source
# File lib/strong_migrations.rb, line 272
def self.check_enabled?(check, version: nil)
  if enabled_checks[check]
    start_after = enabled_checks[check][:start_after] || StrongMigrations.start_after
    !version || version > start_after
  else
    false
  end
end
developer_env?() click to toggle source

private

# File lib/strong_migrations.rb, line 249
def self.developer_env?
  defined?(Rails) && (Rails.env.development? || Rails.env.test?)
end
disable_check(check) click to toggle source
# File lib/strong_migrations.rb, line 268
def self.disable_check(check)
  enabled_checks.delete(check)
end
enable_check(check, start_after: nil) click to toggle source
# File lib/strong_migrations.rb, line 264
def self.enable_check(check, start_after: nil)
  enabled_checks[check] = {start_after: start_after}
end
lock_timeout_limit() click to toggle source
# File lib/strong_migrations.rb, line 253
def self.lock_timeout_limit
  unless defined?(@lock_timeout_limit)
    @lock_timeout_limit = developer_env? ? false : 10
  end
  @lock_timeout_limit
end