rails db:create does not work in basic scenario
hubertjakubiak opened this issue · comments
no implicit conversion of nil into String
Couldn't create '' database. Please check your configuration.
rails aborted!
TypeError: no implicit conversion of nil into String
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/postgresql/utils.rb:26:in `quote_ident'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/postgresql/utils.rb:26:in `quoted'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/postgresql/quoting.rb:33:in `quote_table_name'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/connection_adapters/postgresql/schema_statements.rb:46:in `create_database'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/connection_wrapper.rb:99:in `public_send'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/connection_wrapper.rb:99:in `method_missing'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/proxy.rb:105:in `public_send'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/proxy.rb:105:in `block in method_missing'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/proxy.rb:152:in `block in any_connection'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/pool.rb:100:in `block in provide'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/active_record/connection_adapters/makara_abstract_adapter.rb:38:in `handle'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/pool.rb:99:in `provide'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/proxy.rb:151:in `any_connection'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/makara-0.4.1/lib/makara/proxy.rb:103:in `method_missing'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/postgresql_database_tasks.rb:21:in `create'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:126:in `create'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:185:in `block in create_current'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:479:in `block (2 levels) in each_current_configuration'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:476:in `each'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:476:in `block in each_current_configuration'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:475:in `each'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:475:in `each_current_configuration'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/tasks/database_tasks.rb:184:in `create_current'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.3.4/lib/active_record/railties/databases.rake:39:in `block (2 levels) in <top (required)>'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/railties-6.0.3.4/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/railties-6.0.3.4/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/railties-6.0.3.4/lib/rails/command.rb:48:in `invoke'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/railties-6.0.3.4/lib/rails/commands.rb:18:in `<top (required)>'
/Users/hubertjakubiak/Projects/project-name/bin/rails:9:in `require'
/Users/hubertjakubiak/Projects/project-name/bin/rails:9:in `<top (required)>'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `load'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/client/rails.rb:28:in `call'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/client/command.rb:7:in `call'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/client.rb:30:in `run'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/bin/spring:49:in `<top (required)>'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `load'
/Users/hubertjakubiak/.rvm/gems/ruby-2.6.5/gems/spring-2.1.1/lib/spring/binstub.rb:11:in `<top (required)>'
/Users/hubertjakubiak/Projects/project-name/bin/spring:15:in `require'
/Users/hubertjakubiak/Projects/project-name/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
I get above error when I try firstly try to create the database with rails db:create
command. My database.yml looks like:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch('RAILS_MAX_THREADS') { 5 } %>
development:
<<: *default
url: postgresql-makara:///
makara:
sticky: true
connections:
- role: master
name: primary
url: 'postgres://postgres:password@localhost/project_name'
- name: replica
url: 'postgres://postgres:password@localhost/project_name'
What's strange it works fine if I firstly create the database without the gem and then run commands like rails db:migrate
or rails db:schema:load
.
Hey @hubertjakubiak, it looks like changing the Makara config a bit will fix it.
development:
adapter: postgresql_makara
database: dbname
makara:
sticky: true
connections:
- role: master
name: primary
host: localhost
- name: replica
host: localhost
Or you can use createdb dbname
from Postgres.
Cleaning up issues