Skip to content
Snippets Groups Projects

BG migration to fix incorrect job artifacts expire_at on self-managed

Merged Albert requested to merge 355833-migration-to-fix-incorrect-expire-at into master
Compare and
7 files
+ 172
0
Compare changes
  • Side-by-side
  • Inline
Files
7
# frozen_string_literal: true
class AddTmpIndexJobArtifactsIdAndExpireAt < Gitlab::Database::Migration[2.0]
disable_ddl_transaction!
INDEX_NAME = 'tmp_index_ci_job_artifacts_on_id_expire_at'.freeze
EXPIRE_AT_ON_22_MIDNIGHT_IN_TIMEZONE = <<~SQL.freeze
EXTRACT(day FROM timezone('UTC', expire_at)) IN (21, 22, 23)
AND EXTRACT(minute FROM timezone('UTC', expire_at)) IN (0, 30, 45)
AND EXTRACT(second FROM timezone('UTC', expire_at)) = 0
SQL
def up
return if Gitlab.com?
add_concurrent_index :ci_job_artifacts, [:id, :expire_at], where: EXPIRE_AT_ON_22_MIDNIGHT_IN_TIMEZONE, name: INDEX_NAME
end
def down
return if Gitlab.com?
remove_concurrent_index_by_name :ci_job_artifacts, INDEX_NAME
end
end
Loading