0

I am using ruby and sinatra with activerecord and rake (no rails). I have the following config.yml file in my db directory (I left out production).

config.yml

development:
 adapter: sqlite3
 database: db/development.sqlite3
 pool: 5
 timeout: 5000

test: &test
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

When I run rake db:create or rake db:setup, I get the following error:

rake aborted!
ActiveRecord::AdapterNotSpecified: 'development' database is not configured. Available: []
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:211:in `resolve_connection'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:139:in `resolve'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:169:in `spec'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_handling.rb:50:in `establish_connection'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/tasks/database_tasks.rb:109:in `create_current'
/usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/railties/databases.rake:17:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:setup => db:schema:load_if_ruby => db:create
(See full trace by running task with --trace)

RakeFile:

# Rakefile

require './app'
require 'sinatra'
require 'active_record'
require 'sinatra/activerecord/rake'
#require 'rake'

Gemfile:

source 'https://rubygems.org'


gem "sinatra"
gem "activerecord"
gem "sinatra-activerecord"
gem 'sinatra-flash'
gem 'sinatra-redirect-with-flash'
gem 'rake'

group :development do
 gem 'sqlite3'
 gem "tux"
end

group :production do
 gem 'sqlite3'
end
7
  • as a best practice, remove gem 'sqlite3' from under development, and production and just stick it at the end of your other gems just under gem 'rake' Commented Sep 8, 2015 at 5:54
  • I had different databases but just put sqlite in production when trying to solve the issue Commented Sep 8, 2015 at 6:03
  • any idea on what might be causing the issue? Commented Sep 8, 2015 at 6:03
  • did you make sure your run bundle install? Commented Sep 8, 2015 at 6:07
  • also make sure that you keep database configurations in config/database.yml not config.yml Commented Sep 8, 2015 at 6:10

1 Answer 1

1

Database configuration should be in config/database.yml, not in db/config.yml

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.