Class: SystemCheck::App::TableTruncateCheck

Inherits:
BaseCheck
  • Object
show all
Defined in:
lib/system_check/app/table_truncate_check.rb

Instance Attribute Summary

Attributes inherited from BaseCheck

#skip_reason

Instance Method Summary collapse

Methods inherited from BaseCheck

#can_repair?, #can_skip?, check_fail, check_pass, display_name, #multi_check, #multi_check?, #repair!, set_check_fail, set_check_pass, set_name, set_skip_reason, skip_reason

Methods included from Helpers

#finished_checking, #fix_and_rerun, #for_more_information, #omnibus_gitlab?, #sanitized_message, #see_installation_guide_section, #should_sanitize?, #start_checking, #sudo_gitlab, #try_fixing_it

Methods included from Gitlab::TaskHelpers

#ask_to_continue, #checkout_or_clone_version, #checkout_version, #clone_repo, #get_version, #gid_for, #gitlab_user, #gitlab_user?, #invoke_and_time_task, #os_name, #prompt, #prompt_for_password, #repository_storage_paths_args, #run_and_match, #run_command, #run_command!, #uid_for, #user_home, #warn_user_is_not_gitlab

Instance Method Details

#check?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
# File 'lib/system_check/app/table_truncate_check.rb', line 12

def check?
  @rake_tasks = []
  Gitlab::Database.database_base_models_with_gitlab_shared.keys.each_with_object({}) do |database_name, _h|
    if Gitlab::Database::TablesTruncate.new(database_name: database_name).needs_truncation?
      @rake_tasks << "gitlab:db:truncate_legacy_tables:#{database_name}"
    end
  end

  @rake_tasks.empty?
end

#show_errorObject



23
24
25
26
27
28
29
30
31
# File 'lib/system_check/app/table_truncate_check.rb', line 23

def show_error
  try_fixing_it(
    sudo_gitlab("bundle exec rake #{@rake_tasks.join(' ')}")
  )
  for_more_information(
    "doc/development/database/multiple_databases.md in section 'Truncating tables'"
  )
  fix_and_rerun
end

#skip?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/system_check/app/table_truncate_check.rb', line 8

def skip?
  Gitlab::Database.database_mode != Gitlab::Database::MODE_MULTIPLE_DATABASES
end