Skip to content

Relation does not exist #3501

@cristofer

Description

@cristofer

Describe the bug
After upgrading to rails-admin 3.0.0, and running rails g rails_admin:install, in our CI we see that one of the relations does not exist

Reproduction steps

  • Upgrade to latest version (3.0.0)
  • Run rails g rails_admin:install
  • Apply what the install process recommended, on this case was to add the gem sassc-rails and to add config.asset_source = :sprockets on config/initializers/rails_admin.rb
  • Push the changes to Circle CI
  • Step rails db:create fails with:
DEPRECATION WARNING: The total_columns_width configuration option is deprecated and has no effect. (called from block in <main> at /home/circleci/repo/config/initializers/rails_admin.rb:13)
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "TABLE" does not exist
LINE 8:  WHERE a.attrelid = '"TABLE"'::regclass

Expected behavior
rails db:create should not fail, the table is defined in our schema, and of course the model exists

Additional context

  • rails version: 6.1.5
  • rails_admin version: 3.0.0 (from 2.2.1)
  • rails_admin npm package version:
  • full stack trace (if there's an exception)
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "lalas" does not exist
LINE 8:  WHERE a.attrelid = '"lalas"'::regclass
                            ^
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:19:in `exec'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:19:in `block (2 levels) in query'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:18:in `block in query'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/abstract_adapter.rb:696:in `block (2 levels) in log'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/abstract_adapter.rb:695:in `block in log'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/abstract_adapter.rb:687:in `log'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:17:in `query'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/postgresql_adapter.rb:820:in `column_definitions'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/abstract/schema_statements.rb:116:in `columns'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:112:in `block in columns'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:111:in `fetch'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:111:in `columns'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:120:in `block in columns_hash'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:119:in `fetch'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/connection_adapters/schema_cache.rb:119:in `columns_hash'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/model_schema.rb:553:in `load_schema!'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/attributes.rb:250:in `load_schema!'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/model_schema.rb:539:in `block in load_schema'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/model_schema.rb:536:in `synchronize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/model_schema.rb:536:in `load_schema'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/model_schema.rb:392:in `columns_hash'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/dynamic_matchers.rb:60:in `block in valid?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/dynamic_matchers.rb:60:in `all?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/dynamic_matchers.rb:60:in `valid?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/dynamic_matchers.rb:11:in `respond_to_missing?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/scoping/named.rb:198:in `respond_to?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/scoping/named.rb:198:in `valid_scope_name?'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activerecord-6.1.5/lib/active_record/scoping/named.rb:171:in `scope'
/home/circleci/repo/app/models/lala.rb:67:in `<class:Lala>'
/home/circleci/repo/app/models/lala.rb:2:in `<main>'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:424:in `block in require_or_load'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:39:in `block in load_interlock'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies/interlock.rb:14:in `block in loading'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/concurrency/share_lock.rb:151:in `exclusive'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies/interlock.rb:13:in `loading'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:39:in `load_interlock'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:402:in `require_or_load'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:558:in `load_missing_constant'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:213:in `const_missing'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/inflector/methods.rb:274:in `const_get'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/inflector/methods.rb:274:in `constantize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/abstract_model.rb:20:in `new'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config/model.rb:38:in `initialize'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config.rb:255:in `new'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config.rb:255:in `model'
/home/circleci/repo/config/initializers/rails_admin.rb:219:in `block in <main>'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config.rb:88:in `block in initialize!'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config.rb:88:in `each'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/config.rb:88:in `initialize!'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rails_admin-3.0.0/lib/rails_admin/engine.rb:69:in `block in <class:Engine>'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:51:in `each'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/application/finisher.rb:140:in `block in <module:Finisher>'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/initializable.rb:32:in `instance_exec'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/initializable.rb:32:in `run'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/initializable.rb:61:in `block in run_initializers'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/initializable.rb:60:in `run_initializers'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/application.rb:391:in `initialize!'
/home/circleci/repo/config/environment.rb:6:in `<main>'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `block in require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:299:in `load_dependency'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `require'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/application.rb:367:in `require_environment!'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/railties-6.1.5/lib/rails/application.rb:533:in `block in run_tasks_blocks'
/home/circleci/repo/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

And on rails_admin.rb:220:

  config.model 'Lala' do
    list do
      scopes [:for_rails_admin]

Thank you!

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