cdinger / scenic-oracle_adapter

An Oracle adapter for Thoughtbot's scenic gem
MIT License
6 stars 5 forks source link

Updating materialized views fails #12

Closed cdinger closed 1 year ago

cdinger commented 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:

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>'
cdinger commented 1 year ago

Fixed via #13