active_record_encryption.rb 945 B

1234567891011121314151617181920212223242526
  1. # frozen_string_literal: true
  2. %w(
  3. ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
  4. ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
  5. ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
  6. ).each do |key|
  7. ENV.fetch(key) do
  8. raise <<~MESSAGE
  9. The ActiveRecord encryption feature requires that these variables are set:
  10. - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
  11. - ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
  12. - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
  13. Run `bin/rails db:encryption:init` to generate values and then assign the environment variables.
  14. MESSAGE
  15. end
  16. end
  17. Rails.application.configure do
  18. config.active_record.encryption.deterministic_key = ENV.fetch('ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY')
  19. config.active_record.encryption.key_derivation_salt = ENV.fetch('ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT')
  20. config.active_record.encryption.primary_key = ENV.fetch('ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY')
  21. end