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