updated migration

This commit is contained in:
oleghasjanov 2025-04-10 10:07:25 +03:00
parent caf5729405
commit e315358860

View file

@ -1,21 +1,33 @@
class ChangeP12PasswordDigestToP12PasswordInCertificates < ActiveRecord::Migration[6.1]
def up
add_column :certificates, :p12_password, :string
Certificate.find_each do |cert|
cert.update_column(:p12_password, cert.p12_password_digest)
# Only add p12_password if it doesn't exist
unless column_exists?(:certificates, :p12_password)
add_column :certificates, :p12_password, :string
end
safety_assured { remove_column :certificates, :p12_password_digest }
# Only copy data if p12_password_digest exists
if column_exists?(:certificates, :p12_password_digest)
Certificate.find_each do |cert|
cert.update_column(:p12_password, cert.p12_password_digest) if cert.p12_password_digest.present?
end
safety_assured { remove_column :certificates, :p12_password_digest }
end
end
def down
add_column :certificates, :p12_password_digest, :string
Certificate.find_each do |cert|
cert.update_column(:p12_password_digest, cert.p12_password)
# Only add p12_password_digest if it doesn't exist
unless column_exists?(:certificates, :p12_password_digest)
add_column :certificates, :p12_password_digest, :string
end
safety_assured { remove_column :certificates, :p12_password }
# Only copy data if p12_password exists
if column_exists?(:certificates, :p12_password)
Certificate.find_each do |cert|
cert.update_column(:p12_password_digest, cert.p12_password) if cert.p12_password.present?
end
safety_assured { remove_column :certificates, :p12_password }
end
end
end