mirror of https://github.com/docusealco/docuseal
parent
a25022532e
commit
1066131143
@ -0,0 +1,51 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class UpdateFieldOptions < ActiveRecord::Migration[7.0]
|
||||||
|
class MigrationTemplate < ApplicationRecord
|
||||||
|
self.table_name = 'templates'
|
||||||
|
end
|
||||||
|
|
||||||
|
class MigrationSubmission < ApplicationRecord
|
||||||
|
self.table_name = 'submissions'
|
||||||
|
end
|
||||||
|
|
||||||
|
# rubocop:disable Metrics
|
||||||
|
def up
|
||||||
|
MigrationTemplate.find_each do |template|
|
||||||
|
next if template.fields.blank?
|
||||||
|
|
||||||
|
template_fields = JSON.parse(template.fields)
|
||||||
|
|
||||||
|
new_fields = template_fields.deep_dup
|
||||||
|
|
||||||
|
new_fields.each do |field|
|
||||||
|
if field['options'].present? && !field['options'].first.is_a?(Hash)
|
||||||
|
field['options'] = field['options'].map { |o| { value: o || '', uuid: SecureRandom.uuid } }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
template.update_columns(fields: new_fields.to_json) if template_fields != new_fields
|
||||||
|
end
|
||||||
|
|
||||||
|
MigrationSubmission.find_each do |submission|
|
||||||
|
next if submission.template_fields.blank?
|
||||||
|
|
||||||
|
template_fields = JSON.parse(submission.template_fields)
|
||||||
|
|
||||||
|
new_fields = template_fields.deep_dup
|
||||||
|
|
||||||
|
new_fields.each do |field|
|
||||||
|
if field['options'].present? && !field['options'].first.is_a?(Hash)
|
||||||
|
field['options'] = field['options'].map { |o| { value: o || '', uuid: SecureRandom.uuid } }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
submission.update_columns(template_fields: new_fields.to_json) if template_fields != new_fields
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# rubocop:enable Metrics
|
||||||
|
|
||||||
|
def down
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in new issue