Skip to content

undefined method 'encrypt' for module ActiveRecord::Encryption #1337

@duenni

Description

@duenni

Hi,

had a fairly old version running and I am trying to upgrade to the latest version now.
Pulled the latest commit from main, bundle install, adjusted .bash_profile.
When I do bundle exec rake db:migrate RAILS_ENV=productionnow, I get this:

Migrating to EncryptAPIKey (20230301024452)
== 20230301024452 EncryptAPIKey: migrating ====================================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)

undefined method 'encrypt' for module ActiveRecord::Encryption
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:19:in 'block in EncryptAPIKey#encrypt_api_keys'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/result.rb:130:in 'Array#each'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/result.rb:130:in 'ActiveRecord::Result#each'
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:18:in 'EncryptAPIKey#encrypt_api_keys'
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:7:in 'EncryptAPIKey#change'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:991:in 'ActiveRecord::Migration#exec_migration'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in 'block (2 levels) in ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in 'ActiveSupport::Benchmark.realtime'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in 'block in ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in 'ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in 'ActiveRecord::MigrationProxy#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in 'block in ActiveRecord::Migrator#execute_migration_in_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in 'ActiveRecord::Migrator#ddl_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in 'ActiveRecord::Migrator#execute_migration_in_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in 'Array#each'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in 'ActiveRecord::Migrator#migrate_without_lock'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in 'block in ActiveRecord::Migrator#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in 'ActiveRecord::Migrator#with_advisory_lock'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in 'ActiveRecord::Migrator#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in 'ActiveRecord::MigrationContext#up'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in 'ActiveRecord::MigrationContext#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in 'ActiveRecord::Tasks::DatabaseTasks#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:248:in 'ActiveRecord::Tasks::DatabaseTasks#migrate_all'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/railties/databases.rake:90:in 'block (2 levels) in <top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/exe/rake:27:in '<top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:59:in 'Kernel.load'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:59:in 'Bundler::CLI::Exec#kernel_load'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:452:in 'Bundler::CLI#exec'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/command.rb:28:in 'Bundler::Thor::Command#run'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor.rb:538:in 'Bundler::Thor.dispatch'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:35:in 'Bundler::CLI.dispatch'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/base.rb:584:in 'Bundler::Thor::Base::ClassMethods#start'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:29:in 'Bundler::CLI.start'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/exe/bundle:28:in 'block in <top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/exe/bundle:20:in '<top (required)>'
/opt/ruby34/bin/bundle:25:in '<main>'

Caused by:
NoMethodError: undefined method 'encrypt' for module ActiveRecord::Encryption (NoMethodError)

      encrypted_api_key = ActiveRecord::Encryption.encrypt(user["api_key"])
                                                  ^^^^^^^^
Did you mean?  encryptor
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:19:in 'block in EncryptAPIKey#encrypt_api_keys'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/result.rb:130:in 'Array#each'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/result.rb:130:in 'ActiveRecord::Result#each'
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:18:in 'EncryptAPIKey#encrypt_api_keys'
/home/duenni/stringer/db/migrate/20230301024452_encrypt_api_key.rb:7:in 'EncryptAPIKey#change'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:991:in 'ActiveRecord::Migration#exec_migration'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:975:in 'block (2 levels) in ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2.1/lib/active_support/benchmark.rb:17:in 'ActiveSupport::Benchmark.realtime'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:974:in 'block in ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:412:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:973:in 'ActiveRecord::Migration#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1187:in 'ActiveRecord::MigrationProxy#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1535:in 'block in ActiveRecord::Migrator#execute_migration_in_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:626:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2.1/lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:623:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:367:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1586:in 'ActiveRecord::Migrator#ddl_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1534:in 'ActiveRecord::Migrator#execute_migration_in_transaction'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in 'Array#each'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1509:in 'ActiveRecord::Migrator#migrate_without_lock'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in 'block in ActiveRecord::Migrator#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1606:in 'ActiveRecord::Migrator#with_advisory_lock'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1454:in 'ActiveRecord::Migrator#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1261:in 'ActiveRecord::MigrationContext#up'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/migration.rb:1236:in 'ActiveRecord::MigrationContext#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:270:in 'ActiveRecord::Tasks::DatabaseTasks#migrate'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/tasks/database_tasks.rb:248:in 'ActiveRecord::Tasks::DatabaseTasks#migrate_all'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/activerecord-8.0.2.1/lib/active_record/railties/databases.rake:90:in 'block (2 levels) in <top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/exe/rake:27:in '<top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:59:in 'Kernel.load'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:59:in 'Bundler::CLI::Exec#kernel_load'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:452:in 'Bundler::CLI#exec'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/command.rb:28:in 'Bundler::Thor::Command#run'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor.rb:538:in 'Bundler::Thor.dispatch'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:35:in 'Bundler::CLI.dispatch'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/vendor/thor/lib/thor/base.rb:584:in 'Bundler::Thor::Base::ClassMethods#start'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/cli.rb:29:in 'Bundler::CLI.start'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/exe/bundle:28:in 'block in <top (required)>'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
/home/duenni/stringer/vendor/bundle/ruby/3.4.0/gems/bundler-2.6.2/exe/bundle:20:in '<top (required)>'
/opt/ruby34/bin/bundle:25:in '<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

What am I missing here? Any help is greatly appreciated.

Cheers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions