sequel-rails: rails db:create doesn't work

I have such error running rails db:create. Can anybody help?

rails aborted!
Sequel::Error: No database associated with Sequel::Model: have you called Sequel.connect or Sequel::Model.db= ?
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/sequel-5.5.0/lib/sequel/model/base.rb:353:in `db'
/home/vladislav/taxi_project_api/config/initializers/sequel.rb:3:in `<main>'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `load'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `load'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:277:in `block in load'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:249:in `load_dependency'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:277:in `load'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:657:in `block in load_config_initializer'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/notifications.rb:170:in `instrument'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:656:in `load_config_initializer'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:614:in `block (2 levels) in <class:Engine>'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:613:in `each'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/engine.rb:613:in `block in <class:Engine>'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:32:in `instance_exec'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:32:in `run'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:61:in `block in run_initializers'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:50:in `each'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:50:in `tsort_each_child'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/initializable.rb:60:in `run_initializers'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/application.rb:360:in `initialize!'
/home/vladislav/taxi_project_api/config/environment.rb:5:in `<main>'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in `require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in `require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:283:in `block in require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:249:in `load_dependency'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:283:in `require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/application.rb:336:in `require_environment!'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/application.rb:519:in `block in run_tasks_blocks'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/command.rb:48:in `invoke'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/railties-5.2.0.rc1/lib/rails/commands.rb:18:in `<main>'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in `require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/bootsnap-1.1.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in `require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:283:in `block in require'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:249:in `load_dependency'
/home/vladislav/.rvm/gems/ruby-2.5.0/gems/activesupport-5.2.0.rc1/lib/active_support/dependencies.rb:283:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create => environment
(See full trace by running task with --trace)

About this issue

  • Original URL
  • State: open
  • Created 6 years ago
  • Reactions: 3
  • Comments: 23 (1 by maintainers)

Commits related to this issue

Most upvoted comments

@gencer: I think it might be something related to Doorkeeper-sequel gem as I don’t use Doorkeeper but sequel-rails. It is a strange issue. I spent hours to know the trick with sequel-rails as the doc is not clear. Hopefully, you will find a solution soon.

On Wed, 18 Jul 2018 19:35 Gencer W. Genç, notifications@github.com wrote:

@engpeter2010 https://github.com/engpeter2010 v1.0.1 (latest available at the moment.)

They claim this version has included fixes about db:create. However, one of my initializers (doorkeeper.rb#3 using as orm: sequel) is complaining about my database.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TalentBox/sequel-rails/issues/158#issuecomment-406013555, or mute the thread https://github.com/notifications/unsubscribe-auth/ACAbisWSnrHfbRM9eXEF8AFU5HeIm9L0ks5uH3HogaJpZM4SYA-h .

If you create a brand new rails app w/ sequel-rails (and no initializer at all) the issue is still present. So it happens even without skip_connect.

So I had the same problem and spent couple of days to figure out the problem and the solution. So basically, Sequel read database configuration directly from config/database.yml. In this case you don't need the initializer at all. What makes sequel to skip using database.yml` and asks you for a database connection if you explicitly skipped database connection in the application startup using the following option

config.sequel.skip_connect = true

If you removed this option and have the correct database config in database.yml, rake db:create will work correctly. Per their docs, they fixed an issue with db:create rake task in version 1.0.1 https://github.com/TalentBox/sequel-rails/blob/master/History.md I’m using Rails 5, sequel-rails (1.0.1) I hope this can help anyone faces the same issue.