bellycard / napa

A simple framework for building APIs with Grape
Other
329 stars 72 forks source link

Unable to run rake db:drop with remote Oracle #215

Open smedrick opened 9 years ago

smedrick commented 9 years ago

I receive this error when attempting db:drop. I'm assuming the db connection information isn't being fetched completely. db:migrate work fine, however.

$ bundle exec rake db:drop --trace
[DEPRECATION] This gem has been renamed to hashie-forbidden_attributes and will no longer be supported. Please switch to hashie-forbidden_attributes as soon as possible.
** Invoke db:drop (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:drop
rake aborted!
OCIError: ORA-12162: TNS:net service name is incorrectly specified
oci8.c:656:in oci8lib_210.so
/usr/lib/ruby/gems/2.1.0/gems/ruby-oci8-2.1.8/lib/oci8/oci8.rb:148:in `initialize'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:330:in `new'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:330:in `new_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:389:in `initialize'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:26:in `new'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:26:in `initialize'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_connection.rb:9:in `new'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_connection.rb:9:in `create'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-oracle_enhanced-adapter-1.5.6/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:152:in `oracle_enhanced_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:440:in `new_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:450:in `checkout_new_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `acquire_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:356:in `block in checkout'
/usr/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:355:in `checkout'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
/usr/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:546:in `retrieve_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_handling.rb:79:in `retrieve_connection'
/usr/lib/ruby/gems/2.1.0/gems/activerecord-4.0.13/lib/active_record/connection_handling.rb:53:in `connection'
/home/vagrant/.bundler/ruby/2.1.0/napa-edb30c0d95c0/lib/tasks/db.rake:53:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/usr/bin/rake:23:in `load'
/usr/bin/rake:23:in `<main>'
Tasks: TOP => db:drop
shaqq commented 9 years ago

@smedrick I think I have an inkling of what's going on

Napa's database rake tasks are not quite parity with ActiveRecord's, since they're in railties. My suspicion is that porting them over will fix this issue, because the Rails rake task calls :drop from the given adapter.

We have a longstanding issue to do this (https://github.com/bellycard/napa/issues/191) if you wanna take a wack at it.