Module: DatabaseConsistency

Defined in:
lib/database_consistency.rb,
lib/database_consistency/errors.rb,
lib/database_consistency/helper.rb,
lib/database_consistency/report.rb,
lib/database_consistency/version.rb,
lib/database_consistency/rescue_error.rb,
lib/database_consistency/configuration.rb,
lib/database_consistency/databases/factory.rb,
lib/database_consistency/writers/base_writer.rb,
lib/database_consistency/writers/todo_writer.rb,
lib/database_consistency/databases/types/base.rb,
lib/database_consistency/writers/autofix/base.rb,
lib/database_consistency/checkers/base_checker.rb,
lib/database_consistency/writers/helpers/pipes.rb,
lib/database_consistency/writers/simple_writer.rb,
lib/database_consistency/databases/types/sqlite.rb,
lib/database_consistency/writers/autofix_writer.rb,
lib/database_consistency/processors/base_processor.rb,
lib/database_consistency/processors/columns_processor.rb,
lib/database_consistency/processors/indexes_processor.rb,
lib/database_consistency/writers/autofix/migration_base.rb,
lib/database_consistency/processors/validators_processor.rb,
lib/database_consistency/processors/associations_processor.rb,
lib/database_consistency/writers/autofix/helpers/migration.rb,
lib/database_consistency/writers/autofix/missing_foreign_key.rb,
lib/database_consistency/checkers/index_checkers/index_checker.rb,
lib/database_consistency/checkers/column_checkers/column_checker.rb,
lib/database_consistency/writers/autofix/null_constraint_missing.rb,
lib/database_consistency/processors/validators_fractions_processor.rb,
lib/database_consistency/checkers/index_checkers/unique_index_checker.rb,
lib/database_consistency/checkers/validator_checkers/validator_checker.rb,
lib/database_consistency/checkers/index_checkers/redundant_index_checker.rb,
lib/database_consistency/checkers/column_checkers/null_constraint_checker.rb,
lib/database_consistency/checkers/association_checkers/association_checker.rb,
lib/database_consistency/checkers/association_checkers/foreign_key_checker.rb,
lib/database_consistency/checkers/column_checkers/primary_key_type_checker.rb,
lib/database_consistency/checkers/column_checkers/length_constraint_checker.rb,
lib/database_consistency/checkers/association_checkers/missing_index_checker.rb,
lib/database_consistency/checkers/association_checkers/foreign_key_type_checker.rb,
lib/database_consistency/checkers/index_checkers/redundant_unique_index_checker.rb,
lib/database_consistency/checkers/validator_checkers/missing_unique_index_checker.rb,
lib/database_consistency/checkers/validators_fraction_checkers/column_presence_checker.rb,
lib/database_consistency/checkers/validators_fraction_checkers/validators_fraction_checker.rb

Overview

The root module

Defined Under Namespace

Modules: Checkers, Databases, Errors, Helper, Processors, Writers Classes: Configuration, Report, RescueError

Constant Summary collapse

VERSION =
'1.3.0'

Class Method Summary collapse

Class Method Details

.run(*args, **opts) ⇒ Object

rubocop:disable Metrics/MethodLength



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/database_consistency.rb', line 62

def run(*args, **opts) # rubocop:disable Metrics/MethodLength
  configuration = Configuration.new(*args)
  reports = Processors.reports(configuration)

  if opts[:autofix]
    Writers::AutofixWriter.write(reports, config: configuration)

    0
  elsif opts[:todo]
    Writers::TodoWriter.write(reports, config: configuration)

    0
  else
    Writers::SimpleWriter.write(reports, config: configuration)

    reports.any? { |report| report.status == :fail } || !RescueError.empty? ? 1 : 0
  end
end