Class: Dbtools::Check

Inherits:
Thor
  • Object
show all
Defined in:
lib/tasks/check.rb

Instance Method Summary collapse

Instance Method Details

#all(url) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/tasks/check.rb', line 13

def all(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  output_result(db.check_indexes)
  output_result(db.check_reserved_keywords)
  output_result(db.get_uppercase_columns)
  output_result(db.get_completeness)
  output_result(db.get_syntax_compression)
  output_result(db.get_inverse_functional_property)
  db.close
end

#all_databasesObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/tasks/check.rb', line 28

def all_databases()
  load_config
  @config.each do |k, db_credentials|
    begin
      db_connection = check_adapter(db_credentials)
      databases = db_connection.get_all_databases
      databases.each do |database|
        next if Dbtools::Constants::IGNORE_DATABASES.include?(database)
        db_credentials['database'] = database
        self.all(db_credentials)
      end
    rescue Exception
      nil
    end
  end
end

#casing(url) ⇒ Object



100
101
102
103
104
105
106
107
# File 'lib/tasks/check.rb', line 100

def casing(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_uppercase_columns
  output_result(result)
end

#completeness(url) ⇒ Object



80
81
82
83
84
85
86
87
# File 'lib/tasks/check.rb', line 80

def completeness(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_completeness
  output_result(result)
end

#compression(url) ⇒ Object



90
91
92
93
94
95
96
97
# File 'lib/tasks/check.rb', line 90

def compression(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_syntax_compression
  output_result(result)
end

#database_comments(url) ⇒ Object



130
131
132
133
134
135
136
137
# File 'lib/tasks/check.rb', line 130

def database_comments(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_databases_without_comments
  output_result(result)
end

#indexes(url) ⇒ Object



46
47
48
49
50
51
52
53
# File 'lib/tasks/check.rb', line 46

def indexes(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.check_indexes
  output_result(result)
end

#inverse_functional_property(url) ⇒ Object



140
141
142
143
144
145
146
147
# File 'lib/tasks/check.rb', line 140

def inverse_functional_property(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_inverse_functional_property
  output_result(result)
end

#keywords(url) ⇒ Object



70
71
72
73
74
75
76
77
# File 'lib/tasks/check.rb', line 70

def keywords(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.check_reserved_keywords
  output_result(result)
end

#output_indexes(url) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/tasks/check.rb', line 56

def output_indexes(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  violations = db.check_indexes
  queries = violations.map do |violation|
    violation.solution
  end
  puts queries.join("\n") unless queries.empty?
end

#spelling(url) ⇒ Object



110
111
112
113
114
115
116
117
# File 'lib/tasks/check.rb', line 110

def spelling(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.check_spelling
  output_result(result)
end

#table_comments(url) ⇒ Object



120
121
122
123
124
125
126
127
# File 'lib/tasks/check.rb', line 120

def table_comments(url)
  @url = url
  db = check_adapter(url)
  return if db.nil?

  result = db.get_tables_without_comments
  output_result(result)
end