mirror of
https://github.com/docusealco/docuseal
synced 2026-11-04 06:42:32 -05:00
38 lines
991 B
Ruby
38 lines
991 B
Ruby
# frozen_string_literal: true
|
|
|
|
class PopulateSubmitterTemplateId < ActiveRecord::Migration[8.1]
|
|
disable_ddl_transaction!
|
|
|
|
class MigrationSubmitter < ApplicationRecord
|
|
self.table_name = 'submitters'
|
|
end
|
|
|
|
class MigrationSubmission < ApplicationRecord
|
|
self.table_name = 'submissions'
|
|
end
|
|
|
|
def up
|
|
return if ENV['MULTITENANT'] == 'true'
|
|
|
|
max_id = MigrationSubmitter.maximum(:id)
|
|
|
|
return unless max_id
|
|
|
|
submission_template_id =
|
|
Arel::Nodes::Grouping.new(
|
|
MigrationSubmission.arel_table.project(MigrationSubmission.arel_table[:template_id])
|
|
.where(MigrationSubmission.arel_table[:id].eq(MigrationSubmitter.arel_table[:submission_id]))
|
|
.ast
|
|
)
|
|
|
|
(1..max_id).step(10_000) do |start_id|
|
|
MigrationSubmitter.where(template_id: nil, id: start_id...(start_id + 10_000))
|
|
.update_all(template_id: submission_template_id)
|
|
end
|
|
end
|
|
|
|
def down
|
|
nil
|
|
end
|
|
end
|