0fc9f9d3e7
DB schema generated by a migration may look different in rails 4 and 5 (because rails 5 may use different default values). For this reason it's important to explicitly set for which rails version a migration was written for. See https://stackoverflow.com/questions/35929869/activerecordmigration-deprecation-warning-asks-for-rails-version-but-im-no/35930912#35930912
26 lines
635 B
Ruby
26 lines
635 B
Ruby
class PagesDomainsVerificationGracePeriod < ActiveRecord::Migration[4.2]
|
|
DOWNTIME = false
|
|
|
|
class PagesDomain < ActiveRecord::Base
|
|
include EachBatch
|
|
end
|
|
|
|
# Allow this migration to resume if it fails partway through
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
now = Time.now
|
|
grace = now + 30.days
|
|
|
|
PagesDomain.each_batch do |relation|
|
|
relation.update_all(verified_at: now, enabled_until: grace)
|
|
|
|
# Sleep 2 minutes between batches to not overload the DB with dead tuples
|
|
sleep(2.minutes) unless relation.reorder(:id).last == PagesDomain.reorder(:id).last
|
|
end
|
|
end
|
|
|
|
def down
|
|
# no-op
|
|
end
|
|
end
|