uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnDefinition when updating rails to 7.2 from 7.1

#426 · closed · 2 comments

View on GitHub ↗

znz

I'm trying to update rails version of my personal use rails app, but it causes `uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnDefinition`. reproduce pull request: https://github.com/znz/memo-app-r/pull/434 log of `bundle exec rails db:setup`: https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:9 ```text bin/rails aborted! NameError: uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnDefinition (NameError) class ColumnDefinition < PostgreSQL::ColumnDefinition ^^^^^^^^^^^^^^^^^^ Did you mean? ActiveRecord::ConnectionAdapters::AddColumnDefinition /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-postgis-adapter-3.1.2/lib/active_record/connection_adapters/postgis/spatial_table_definition.rb:46:in `<module:PostGIS>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-postgis-adapter-3.1.2/lib/active_record/connection_adapters/postgis/spatial_table_definition.rb:3:in `<module:ConnectionAdapters>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-postgis-adapter-3.1.2/lib/active_record/connection_adapters/postgis/spatial_table_definition.rb:2:in `<module:ActiveRecord>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-postgis-adapter-3.1.2/lib/active_record/connection_adapters/postgis/spatial_table_definition.rb:1:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-postgis-adapter-3.1.2/lib/active_record/connection_adapters/postgis_adapter.rb:12:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters.rb:41:in `resolve' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/database_configurations/database_config.rb:18:in `adapter_class' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/database_configurations/database_config.rb:30:in `validate!' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_handler.rb:268:in `resolve_pool_config' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_handler.rb:116:in `establish_connection' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:53:in `establish_connection' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/railtie.rb:284:in `block (2 levels) in <class:Railtie>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:[9](https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:10)7:in `class_eval' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:97:in `block in execute_hook' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/base.rb:337:in `<module:ActiveRecord>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activerecord-7.2.2.1/lib/active_record/base.rb:15:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require' /home/runner/work/memo-app-r/memo-app-r/app/models/application_record.rb:3:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:26:in `require' /home/runner/work/memo-app-r/memo-app-r/app/models/user.rb:4:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:26:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/inflector/methods.rb:290:in `const_get' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/inflector/methods.rb:290:in `constantize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise.rb:327:in `get' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:83:in `to' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:78:in `modules' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:95:in `routes' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:162:in `default_used_route' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/mapping.rb:72:in `initialize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise.rb:361:in `new' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise.rb:361:in `add_mapping' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:243:in `block in devise_for' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:242:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/devise-4.9.4/lib/devise/rails/routes.rb:242:in `devise_for' /home/runner/work/memo-app-r/memo-app-r/config/routes.rb:9:in `block in <main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:467:in `instance_exec' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:467:in `eval_block' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:449:in `draw' /home/runner/work/memo-app-r/memo-app-r/config/routes.rb:1:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:50:in `load' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:50:in `block in load_paths' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:50:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:50:in `load_paths' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:24:in `reload!' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:38:in `block in updater' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/activesupport-7.2.2.1/lib/active_support/file_update_checker.rb:85:in `execute' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/routes_reloader.rb:13:in `execute' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application/finisher.rb:162:in `block in <module:Finisher>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `instance_exec' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:32:in `run' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:61:in `block in run_initializers' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/initializable.rb:60:in `run_initializers' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application.rb:435:in `initialize!' /home/runner/work/memo-app-r/memo-app-r/config/environment.rb:5:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.7.2/lib/zeitwerk/core_ext/kernel.rb:34:in `require' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application.rb:4[11](https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:12):in `require_environment!' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/application.rb:559:in `block in run_tasks_blocks' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-[13](https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:14).2.1/lib/rake/task.rb:281:in `block in execute' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:243:in `block in invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:241:in `invoke_prerequisites' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:218:in `block in invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:[14](https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:15)7:in `run_with_threads' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands/rake/rake_command.rb:27:in `block in perform' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:59:in `with_application' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands/rake/rake_command.rb:41:in `with_rake' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands/rake/rake_command.rb:20:in `perform' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/command.rb:[15](https://github.com/znz/memo-app-r/actions/runs/14004889784/job/39217424208?pr=434#step:5:16)6:in `invoke_rake' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/command.rb:73:in `block in invoke' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/command.rb:149:in `with_argv' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/command.rb:69:in `invoke' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/railties-7.2.2.1/lib/rails/commands.rb:18:in `<main>' /home/runner/work/memo-app-r/memo-app-r/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' Tasks: TOP => db:setup => db:create => db:load_config => environment (See full trace by running task with --trace) Error: Process completed with exit code 1. ```

Comments

Utopism

Same problem here.

inkstak

You have installed an outdated version of activerecord-postgis-adapter : 3.1.2 You must install version 10.x to supports ActiveRecord 7.2