Initial commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
class AddEncryptedDataToBeneficiary < ActiveRecord::Migration[5.2]
|
||||
def up
|
||||
data = Beneficiary.pluck(:id, :data)
|
||||
add_column :beneficiaries, :data_encrypted, :string, limit: 1024, after: :description
|
||||
data.each do |s|
|
||||
atr = Beneficiary.__vault_attributes[:data]
|
||||
enc = Vault::Rails.encrypt(atr[:path], atr[:key], s[1])
|
||||
query = ActiveRecord::Base.sanitize_sql_array(['UPDATE beneficiaries SET data_encrypted = ? WHERE id = ?', enc, s[0]])
|
||||
execute(query)
|
||||
end
|
||||
remove_column :beneficiaries, :data
|
||||
end
|
||||
|
||||
def down
|
||||
data = Beneficiary.pluck(:id, :data_encrypted)
|
||||
add_column :beneficiaries, :data, :json, after: :description
|
||||
data.each do |s|
|
||||
atr = Beneficiary.__vault_attributes[:data]
|
||||
dec = Vault::Rails.decrypt(atr[:path], atr[:key], s[1])
|
||||
query = ActiveRecord::Base.sanitize_sql_array(['UPDATE beneficiaries SET data = ? WHERE id = ?', dec, s[0]])
|
||||
execute(query)
|
||||
end
|
||||
remove_column :beneficiaries, :data_encrypted
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user