Closed cdinger closed 1 year ago
Migrations that update materialized views via update_view are failing because the no_data keyword argument is not being passed to scenic:
update_view
no_data
rails db:migrate --trace Warning: NLS_LANG is not set. fallback to US7ASCII. ** Invoke db:migrate (first_time) ** Invoke db:load_config (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:load_config ** Execute db:migrate == 20230419145611 UpdateMatvwInvoiceableEntriesToVersion3: migrating ========== -- update_view(:matvw_invoiceable_entries, {:version=>3, :revert_to_version=>2, :materialized=>true}) rails aborted! StandardError: An error has occurred, all later migrations canceled: wrong number of arguments (given 3, expected 2) /usr/local/bundle/gems/scenic-oracle_adapter-1.2.0/lib/scenic/adapters/oracle.rb:39:in `update_materialized_view' /usr/local/bundle/gems/scenic-1.7.0/lib/scenic/statements.rb:109:in `update_view' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:932:in `block in method_missing' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:900:in `block in say_with_time' /usr/local/lib/ruby/3.1.0/benchmark.rb:296:in `measure' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:900:in `say_with_time' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:921:in `method_missing' /app/db/migrate/20230419145611_update_matvw_invoiceable_entries_to_version_3.rb:4:in `change' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:870:in `exec_migration' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:854:in `block (2 levels) in migrate' /usr/local/lib/ruby/3.1.0/benchmark.rb:296:in `measure' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:853:in `block in migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:852:in `migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1046:in `migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1360:in `block in execute_migration_in_transaction' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1413:in `ddl_transaction' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1359:in `execute_migration_in_transaction' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1333:in `each' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1333:in `migrate_without_lock' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1284:in `migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1117:in `up' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/migration.rb:1092:in `migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/tasks/database_tasks.rb:262:in `migrate' /usr/local/bundle/gems/activerecord-7.0.4/lib/active_record/railties/databases.rake:92:in `block (2 levels) in <top (required)>' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level' /usr/local/bundle/gems/railties-7.0.4/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling' /usr/local/bundle/gems/railties-7.0.4/lib/rails/commands/rake/rake_command.rb:24:in `block in perform' /usr/local/lib/ruby/gems/3.1.0/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application' /usr/local/bundle/gems/railties-7.0.4/lib/rails/commands/rake/rake_command.rb:18:in `perform' /usr/local/bundle/gems/railties-7.0.4/lib/rails/command.rb:51:in `invoke' /usr/local/bundle/gems/railties-7.0.4/lib/rails/commands.rb:18:in `<top (required)>' bin/rails:4:in `require' bin/rails:4:in `<main>'
Fixed via #13
Migrations that update materialized views via
update_view
are failing because theno_data
keyword argument is not being passed to scenic: