Schedule PopulateUntrackedUploads if needed
To finish migrating untracked files to uploads for installations that were affected by https://gitlab.com/gitlab-org/gitlab-ce/issues/42881 Or just to delete the temp table if it is empty and left behind.
This commit is contained in:
parent
67d310a1a6
commit
b2ab10718b
|
@ -0,0 +1,47 @@
|
|||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||
# for more information on how to write migrations for GitLab.
|
||||
|
||||
class SchedulePopulateUntrackedUploadsIfNeeded < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = false
|
||||
|
||||
FOLLOW_UP_MIGRATION = 'PopulateUntrackedUploads'.freeze
|
||||
|
||||
class UntrackedFile < ActiveRecord::Base
|
||||
include EachBatch
|
||||
|
||||
self.table_name = 'untracked_files_for_uploads'
|
||||
end
|
||||
|
||||
def up
|
||||
if table_exists?(:untracked_files_for_uploads)
|
||||
process_or_remove_table
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
# nothing
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def process_or_remove_table
|
||||
if UntrackedFile.all.empty?
|
||||
drop_temp_table
|
||||
else
|
||||
schedule_populate_untracked_uploads_jobs
|
||||
end
|
||||
end
|
||||
|
||||
def drop_temp_table
|
||||
drop_table(:untracked_files_for_uploads, if_exists: true)
|
||||
end
|
||||
|
||||
def schedule_populate_untracked_uploads_jobs
|
||||
say "Scheduling #{FOLLOW_UP_MIGRATION} background migration jobs since there are rows in untracked_files_for_uploads."
|
||||
|
||||
bulk_queue_background_migration_jobs_by_range(
|
||||
UntrackedFile, FOLLOW_UP_MIGRATION)
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20180206200543) do
|
||||
ActiveRecord::Schema.define(version: 20180208183958) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
|
Loading…
Reference in New Issue