railsadminteam / rails_admin

RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data
MIT License
7.88k stars 2.25k forks source link

Relation does not exist #3501

Closed cristofer closed 2 years ago

cristofer commented 2 years ago

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

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

Additional context

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!

mshibuya commented 2 years ago

Closed by #3541.