Fixes #4049 - Can't delete smime certificate - ERROR: duplicate key value violates unique constraint.
This commit is contained in:
parent
0a3e7628b4
commit
8274bb8a11
2 changed files with 26 additions and 0 deletions
10
db/migrate/20220405133444_issue4049_fix_object_lookup.rb
Normal file
10
db/migrate/20220405133444_issue4049_fix_object_lookup.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
|
||||
|
||||
class Issue4049FixObjectLookup < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
# return if it's a new setup
|
||||
return if !Setting.exists?(name: 'system_init_done')
|
||||
|
||||
ObjectLookup.find_by(name: 'SmimeCertificate')&.update(name: 'SMIMECertificate')
|
||||
end
|
||||
end
|
16
spec/db/migrate/issue_4049_fix_object_lookup_spec.rb
Normal file
16
spec/db/migrate/issue_4049_fix_object_lookup_spec.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Issue4049FixObjectLookup, type: :db_migration do
|
||||
before do
|
||||
# create and update to wrong state in pre release
|
||||
ObjectLookup.by_name('SMIMECertificate')
|
||||
ObjectLookup.find_by(name: 'SMIMECertificate').update(name: 'SmimeCertificate')
|
||||
end
|
||||
|
||||
it 'does fix the broken object lookup' do
|
||||
migrate
|
||||
expect(ObjectLookup.by_name('SMIMECertificate')).not_to be_nil
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue