Class: DatabaseConsistency::Writers::AutofixWriter

Inherits:
BaseWriter
  • Object
show all
Defined in:
lib/database_consistency/writers/autofix_writer.rb

Overview

The simplest formatter

Constant Summary collapse

UnknownCheckerError =
Class.new(StandardError)
SLUG_TO_GENERATOR =
{
  association_missing_index: Autofix::AssociationMissingIndex,
  association_missing_null_constraint: Autofix::NullConstraintMissing,
  association_foreign_type_missing_null_constraint: Autofix::NullConstraintMissing,
  has_one_missing_unique_index: Autofix::HasOneMissingUniqueIndex,
  inconsistent_types: Autofix::InconsistentTypes,
  missing_foreign_key: Autofix::MissingForeignKey,
  missing_unique_index: Autofix::HasOneMissingUniqueIndex,
  null_constraint_missing: Autofix::NullConstraintMissing,
  redundant_index: Autofix::RedundantIndex,
  redundant_unique_index: Autofix::RedundantIndex,
  small_primary_key: Autofix::InconsistentTypes,
  three_state_boolean: Autofix::NullConstraintMissing
}.freeze

Instance Attribute Summary

Attributes inherited from BaseWriter

#config, #opts, #results

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseWriter

#initialize, write

Constructor Details

This class inherits a constructor from DatabaseConsistency::Writers::BaseWriter

Class Method Details

.validate_scope!(scope) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/database_consistency/writers/autofix_writer.rb', line 26

def validate_scope!(scope)
  return if scope.nil?

  known = concrete_checker_names
  unknown = scope - known
  return if unknown.empty?

  raise UnknownCheckerError,
        "unknown checker(s): #{unknown.join(', ')}. Known: #{known.join(', ')}"
end

Instance Method Details

#writeObject



48
49
50
# File 'lib/database_consistency/writers/autofix_writer.rb', line 48

def write
  unique_generators.each(&:fix!)
end