summaryrefslogtreecommitdiff
path: root/db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb
diff options
context:
space:
mode:
authorVladimir Shushlin <vshushlin@gitlab.com>2019-06-06 19:14:09 +0000
committerNick Thomas <nick@gitlab.com>2019-06-06 19:14:09 +0000
commitd1d05ae4f34aab350db86e03859c97e90f515520 (patch)
treec318ad0a14b556b7bacafc7e042219ae44687c92 /db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb
parentbb02557cbd1e8a7c97fac4c24c40e6e02c809a9a (diff)
downloadgitlab-ce-d1d05ae4f34aab350db86e03859c97e90f515520.tar.gz
Add certificate valid time to pages domain table
Save certificate validity time for pages domains on save Fill validity time for existing pages domains in background migration
Diffstat (limited to 'db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb')
-rw-r--r--db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb b/db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb
new file mode 100644
index 00000000000..1d8510e4514
--- /dev/null
+++ b/db/post_migrate/20190524073827_schedule_fill_valid_time_for_pages_domain_certificates.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class ScheduleFillValidTimeForPagesDomainCertificates < ActiveRecord::Migration[5.1]
+ include Gitlab::Database::MigrationHelpers
+
+ MIGRATION = 'FillValidTimeForPagesDomainCertificate'
+ BATCH_SIZE = 500
+ BATCH_TIME = 5.minutes
+
+ # Set this constant to true if this migration requires downtime.
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ class PagesDomain < ActiveRecord::Base
+ include ::EachBatch
+
+ self.table_name = 'pages_domains'
+ end
+
+ def up
+ queue_background_migration_jobs_by_range_at_intervals(
+ PagesDomain.where.not(certificate: [nil, '']),
+ MIGRATION,
+ BATCH_TIME,
+ batch_size: BATCH_SIZE)
+ end
+
+ def down
+ end
+end