I have a rails app that's working totally fine locally but when i pushed it on heroku it showing "Application Error"enter image description here
i tried visiting the heroku app logs but there was nothing out there, but when i tried running heroko console it started giving this error:
C:\Sites\bbb>heroku run rails console
This is the legacy Heroku CLI. Please install the new CLI from https://cli.herok
u.com
Running rails console on hidden-hollows-63773... up, run.4100 (Free)
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_record/connecti
on_adapters/connection_specification.rb:176:in `rescue in spec': Specified 'sqli
te3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to you
r Gemfile (and ensure its version is at the minimum required by ActiveRecord). (
Gem::LoadError)
from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_re
cord/connection_adapters/connection_specification.rb:173:in `spec'
from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_re
cord/connection_handling.rb:53:in `establish_connection'
from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_re
cord/railtie.rb:125:in `block (2 levels) in <class:Railtie>'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/lazy_load_hooks.rb:43:in `instance_eval'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/lazy_load_hooks.rb:43:in `execute_hook'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/lazy_load_hooks.rb:50:in `block in run_load_hooks'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/lazy_load_hooks.rb:49:in `each'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/lazy_load_hooks.rb:49:in `run_load_hooks'
from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_re
cord/base.rb:324:in `<module:ActiveRecord>'
from /app/vendor/bundle/ruby/2.3.0/gems/activerecord-5.0.2/lib/active_re
cord/base.rb:24:in `<top (required)>'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `require'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `block in require'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:259:in `load_dependency'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `require'
from /app/app/models/application_record.rb:1:in `<top (required)>'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `require'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `block in require'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:259:in `load_dependency'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:293:in `require'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:380:in `block in require_or_load'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:37:in `block in load_interlock'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies/interlock.rb:12:in `block in loading'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/concurrency/share_lock.rb:150:in `exclusive'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies/interlock.rb:11:in `loading'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:37:in `load_interlock'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:358:in `require_or_load'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:336:in `depend_on'
from /app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.0.2/lib/active_s
upport/dependencies.rb:252:in `require_dependency'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:476:in `block (2 levels) in eager_load!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:475:in `each'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:475:in `block in eager_load!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:473:in `each'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:473:in `eager_load!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/engine.
rb:354:in `eager_load!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/applica
tion/finisher.rb:59:in `each'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/applica
tion/finisher.rb:59:in `block in <module:Finisher>'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/initial
izable.rb:30:in `instance_exec'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/initial
izable.rb:30:in `run'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/initial
izable.rb:55:in `block in run_initializers'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:228:in `block in tso
rt_each'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:350:in `block (2 lev
els) in each_strongly_connected_component'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:431:in `each_strongl
y_connected_component_from'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:349:in `block in eac
h_strongly_connected_component'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `each'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `call'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:347:in `each_strongl
y_connected_component'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
from /app/vendor/ruby-2.3.4/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/initial
izable.rb:54:in `run_initializers'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/applica
tion.rb:352:in `initialize!'
from /app/config/environment.rb:5:in `<top (required)>'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/applica
tion.rb:328:in `require'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/applica
tion.rb:328:in `require_environment!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/command
s/commands_tasks.rb:157:in `require_application_and_environment!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/command
s/commands_tasks.rb:77:in `console'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/command
s/commands_tasks.rb:49:in `run_command!'
from /app/vendor/bundle/ruby/2.3.0/gems/railties-5.0.2/lib/rails/command
s.rb:18:in `<top (required)>'
from /app/bin/rails:4:in `require'
from /app/bin/rails:4:in `<main>'
My Gemfile
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.2'
# Use sqlite3 as the database for Active Record
group :production do
gem 'pg', '0.18.1'
gem 'rails_12factor'
end
group :development, :test do
gem 'sqlite3'
gem 'byebug'
end
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
My Database.yml
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
You are setting sqlite as the default database with this code
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
So with this code it is getting set as sqlite because you are including the defualt values, which will not work on heroku because you cannot use sqlite on heroku.
production:
<<: *default
database: db/production.sqlite3
You should change the production database values in the database.yml file.
production:
adapter: postgresql
pool: 5
timeout: 5000
database: app_name
In your database.yml file change the production db to use postgresql as heroku doesn't support sqlite3.
For example:
production:
database: example_production
adapter: postgresql
host: localhost
password:
Related
in my development are the app works fine but when i deploy to heroku and try to run rake db:migrate to build the database, it aborts and says wrong number of arguments. i have searched all over the web but could not fix it.
here is the error
$ heroku run rake db:migrate
Running rake db:migrate on ⬢ blooming-dusk-86753... up, run.9621 (Free)
rake aborted!
ArgumentError: wrong number of arguments (given 3, expected 2)
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/type/adapter_specific_registry.rb:7:in `add_modifier'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/type.rb:22:in `add_modifier'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/postgresql_adapter.rb:827:in `<class:PostgreSQLAdapter>'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/postgresql_adapter.rb:69:in `<module:ConnectionAdapters>'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `<module:ActiveRecord>'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/postgresql_adapter.rb:19:in `<top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/connection_handling.rb:53:in `establish_connection'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/railtie.rb:125:in `block (2 levels) in <class:Railtie>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:69:in `instance_eval'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:60:in `with_execution_control'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:65:in `execute_hook'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:50:in `block in run_load_hooks'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:49:in `each'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/lazy_load_hooks.rb:49:in `run_load_hooks'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/base.rb:324:in `<module:ActiveRecord>'
/app/vendor/bundle/ruby/3.0.0/gems/activerecord-5.0.7.2/lib/active_record/base.rb:24:in `<top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/app/models/user.rb:1:in `<top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:380:in `block in require_or_load'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:37:in `block in load_interlock'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/concurrency/share_lock.rb:150:in `exclusive'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies/interlock.rb:11:in `loading'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:37:in `load_interlock'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:358:in `require_or_load'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:512:in `load_missing_constant'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:203:in `const_missing'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/inflector/methods.rb:268:in `const_get'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/inflector/methods.rb:268:in `block in constantize'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/inflector/methods.rb:266:in `each'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/inflector/methods.rb:266:in `inject'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/inflector/methods.rb:266:in `constantize'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:584:in `get'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:615:in `constantize'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise.rb:318:in `get'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/mapping.rb:83:in `to'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/mapping.rb:78:in `modules'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/mapping.rb:95:in `routes'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/mapping.rb:162:in `default_used_route'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/mapping.rb:72:in `initialize'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise.rb:354:in `new'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise.rb:354:in `add_mapping'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/rails/routes.rb:243:in `block in devise_for'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/rails/routes.rb:242:in `each'
/app/vendor/bundle/ruby/3.0.0/gems/devise-4.8.1/lib/devise/rails/routes.rb:242:in `devise_for'
/app/config/routes.rb:2:in `block in <top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/actionpack-5.0.7.2/lib/action_dispatch/routing/route_set.rb:391:in `instance_exec'
/app/vendor/bundle/ruby/3.0.0/gems/actionpack-5.0.7.2/lib/action_dispatch/routing/route_set.rb:391:in `eval_block'
/app/vendor/bundle/ruby/3.0.0/gems/actionpack-5.0.7.2/lib/action_dispatch/routing/route_set.rb:373:in `draw'
/app/config/routes.rb:1:in `<top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `block in load'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:40:in `each'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:40:in `load_paths'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:16:in `reload!'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:26:in `block in updater'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/file_update_checker.rb:77:in `execute'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:27:in `updater'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application/finisher.rb:119:in `block in <module:Finisher>'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/initializable.rb:30:in `instance_exec'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/initializable.rb:30:in `run'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/initializable.rb:55:in `block in run_initializers'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/initializable.rb:54:in `run_initializers'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application.rb:352:in `initialize!'
/app/config/environment.rb:5:in `<top (required)>'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
/app/vendor/bundle/ruby/3.0.0/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application.rb:328:in `require_environment!'
/app/vendor/bundle/ruby/3.0.0/gems/railties-5.0.7.2/lib/rails/application.rb:448:in `block in run_tasks_blocks'
/app/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/app/bin/bundle:3:in `load'
/app/bin/bundle:3:in `<main>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
here is my gem file:
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.7', '>= 5.0.7.2'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.3.13', group: [:development, :test]
# Use postgresql as the database for production
group :production do
gem 'pg', '~> 0.20'
gem 'rails_12factor'
end
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
#use bootsrtap for styles
gem 'bootstrap-sass', '~> 3.4.1'
#use font awesom for icons
gem 'font-awesome-sass', '~> 5.15.1'
#use devise for user logins
gem 'devise'
#use paperclip for images upload
gem 'paperclip'
gem 'jquery-rails'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
i think the problem is related to sqlite3 vs postgresql(heroku) but i cant seem to fix it.
here is the github link:
https://github.com/fawzi-saab/S-Portfolio
if you are especially creating apps to deploy heroku its better to use postgresql in both development and production. I look into your repo and i think your config/database.yml file needs to be revised in order to connect to postgresql database. You can also check a documentation to deploy an app to heroku here
I uses Rails but it does not follow the settings in config/database.yml.
With config/database.yml ($DATABASE_URL is the URL of my Heroku app's database)
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
adapter: sqlite3
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
I ran rails g controller hoge, then I got errors:
/myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/connection_adapters/connection_specification.rb:188:in `rescue in spec': Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/connection_adapters/connection_specification.rb:185:in `spec'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:880:in `establish_connection'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/connection_handling.rb:58:in `establish_connection'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/railtie.rb:124:in `block (2 levels) in <class:Railtie>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:69:in `instance_eval'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:60:in `with_execution_control'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:65:in `execute_hook'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:50:in `block in run_load_hooks'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:49:in `each'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:49:in `run_load_hooks'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/base.rb:326:in `<module:ActiveRecord>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activerecord-5.1.6/lib/active_record/base.rb:25:in `<top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `block in load_dependency'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `load_dependency'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require'
from /myapp/app/models/application_record.rb:1:in `<top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `block in load_file'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:476:in `load_file'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:374:in `block in require_or_load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `block in load_interlock'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/concurrency/share_lock.rb:149:in `exclusive'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:11:in `loading'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `load_interlock'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:357:in `require_or_load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:511:in `load_missing_constant'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:202:in `const_missing'
from /myapp/app/models/user.rb:1:in `<top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `block in load_file'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:476:in `load_file'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:374:in `block in require_or_load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `block in load_interlock'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/concurrency/share_lock.rb:149:in `exclusive'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:11:in `loading'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `load_interlock'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:357:in `require_or_load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:511:in `load_missing_constant'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:202:in `const_missing'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/inflector/methods.rb:269:in `const_get'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/inflector/methods.rb:269:in `block in constantize'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/inflector/methods.rb:267:in `each'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/inflector/methods.rb:267:in `inject'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/inflector/methods.rb:267:in `constantize'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:583:in `get'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:614:in `constantize'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise.rb:316:in `get'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/mapping.rb:83:in `to'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/mapping.rb:78:in `modules'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/mapping.rb:95:in `routes'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/mapping.rb:162:in `default_used_route'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/mapping.rb:72:in `initialize'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise.rb:346:in `new'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise.rb:346:in `add_mapping'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/rails/routes.rb:243:in `block in devise_for'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/rails/routes.rb:242:in `each'
from /myapp/vendor/bundle/ruby/2.5.0/gems/devise-4.4.3/lib/devise/rails/routes.rb:242:in `devise_for'
from /myapp/config/routes.rb:2:in `block in <top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:436:in `instance_exec'
from /myapp/vendor/bundle/ruby/2.5.0/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:436:in `eval_block'
from /myapp/vendor/bundle/ruby/2.5.0/gems/actionpack-5.1.6/lib/action_dispatch/routing/route_set.rb:418:in `draw'
from /myapp/config/routes.rb:1:in `<top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `block in load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:55:in `block in load_paths'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:55:in `each'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:55:in `load_paths'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:18:in `reload!'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:41:in `block in updater'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/file_update_checker.rb:81:in `execute'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:42:in `updater'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/routes_reloader.rb:31:in `execute_if_updated'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application/finisher.rb:128:in `block in <module:Finisher>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/initializable.rb:30:in `instance_exec'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/initializable.rb:30:in `run'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/initializable.rb:59:in `block in run_initializers'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:228:in `block in tsort_each'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:431:in `each_strongly_connected_component_from'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:349:in `block in each_strongly_connected_component'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `each'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `call'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:347:in `each_strongly_connected_component'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:226:in `tsort_each'
from /home/.rbenv/versions/2.5.0/lib/ruby/2.5.0/tsort.rb:205:in `tsort_each'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/initializable.rb:58:in `run_initializers'
from /myapp/vendor/bundle/ruby/2.5.0/gems/railties-5.1.6/lib/rails/application.rb:353:in `initialize!'
from /myapp/config/environment.rb:5:in `<top (required)>'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency'
from /myapp/vendor/bundle/ruby/2.5.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:102:in `preload'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run'
from /myapp/vendor/bundle/ruby/2.5.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>'
from /home/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
from /home/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
from -e:1:in `<main>'
In Gemfile:
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.4'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '~> 2.13'
gem 'selenium-webdriver'
gem 'pry-rails'
gem 'pry-doc'
gem 'pry-byebug'
gem 'pry-stack_explorer'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'letter_opener'
gem 'letter_opener_web'
end
group :production do
gem 'pg', '~> 0.20'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem 'config'
gem 'bootstrap-sass'
gem 'kaminari'
gem 'jquery-rails'
gem 'gon'
gem 'faraday'
gem 'faraday_middleware'
gem 'devise'
gem 'devise-bootstrap-views'
gem 'data-confirm-modal'
My ruby version is v2.5.0 and OS is macOS Sierra 10.12.6.
Why the adapter is set to postgresql in spite of sqlite3 in config/database.yml?
How can I use the configurations correctly?
I think of migrating developing environment to virtual box (to avoid cumbersome problems like this), but I am afraid that, in the box, I would get such errors as well. Is it OK?
Rails is using the connection details from the environment variable, not the config file. Rails uses both ENV['DATABASE_URL'] and config/database.yml when setting up the database, and in most cases the environment variable has priority.
Take a look at the docs to see how the two ways of configuring the database interact.
The simplest solution in your case is probably to remove the DATABASE_URL varaible from your development machine. It’s unlikely you need it set there, and could possibly cause problems if you accidentally connect to the production database from development.
You could also use the url: key rather than the database: key when specifying the development database, as that key does take precedence over the environment variable. It would look something like:
development:
<<: *default
url: sqlite:db/development.sqlite3
You should also probably remove the adapter from defaults, as you are not using sqlite in production but are merging in that key. What you have will likely work (since the environment variable overrides the setting in the file), but it is confusing. Ideally you would want to look into using the same database in development and production to minimise differences between the two environments.
I was trying to set up my app on heroku. Before that, I could type rails s to start the server and everything went flawless.
Then (maybe unrelated to my actual problem), I added config.secret_key_base = ENV["SECRET_KEY_BASE"] to my config/evironments/production.rb file and pushed it to github and after that, to heroku. The app on heroku works.
After that, whenever I type rails s, this happens:
mycomp:~/workspace/philosophica$ rails s
=> Booting WEBrick
=> Rails 4.2.5 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/configuration.rb:115:in `rescue in database_configuration': YAML syntax error occurred while parsing /home/sandro/workspace/philosophica/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 24 column 1 (RuntimeError)
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/configuration.rb:98:in `database_configuration'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5/lib/active_record/railtie.rb:117:in `block (2 levels) in <class:Railtie>'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/lazy_load_hooks.rb:27:in `each'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5/lib/active_record/railtie.rb:116:in `block in <class:Railtie>'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `each'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `call'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!'
from /home/sandro/workspace/philosophica/config/environment.rb:5:in `<top (required)>'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
from /home/sandro/workspace/philosophica/config.ru:3:in `block in <main>'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
from /home/sandro/workspace/philosophica/config.ru:in `new'
from /home/sandro/workspace/philosophica/config.ru:in `<main>'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `eval'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `new_from_string'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:40:in `parse_file'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:299:in `build_app_and_options_from_config'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:208:in `app'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/server.rb:61:in `app'
from /home/sandro/.gem/ruby/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:336:in `wrapped_app'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/server.rb:139:in `log_to_stdout'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/server.rb:78:in `start'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:80:in `block in server'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from /home/sandro/workspace/philosophica/bin/rails:9:in `require'
from /home/sandro/workspace/philosophica/bin/rails:9:in `<top (required)>'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/client/rails.rb:28:in `load'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/client/rails.rb:28:in `call'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/client/command.rb:7:in `call'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/client.rb:30:in `run'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/bin/spring:49:in `<top (required)>'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/binstub.rb:11:in `load'
from /home/sandro/.gem/ruby/2.2.0/gems/spring-1.7.1/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/sandro/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/sandro/workspace/philosophica/bin/spring:13:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'
I noticed this:
YAML syntax error occurred while parsing /home/sandro/workspace/philosophica/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 24 column 1 (RuntimeError)
Here is how my database.yml looks like:
default: &default
adapter: postgresql
encoding: unicode
pool: a_number
host: localhost #line 21
username: name #line 22
password: password #line 23
#line 24
It mentions an error at line 24, but line 24 is empty. At this point, I'm clueless. Has anyone any advises? Thanks in advance!
Edit 1: My default seems to come first, here my database.yml:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
host: localhost
username: name
password: pasword
development:
<<: *default
database: philosophica_development
Edit 2: When I type in rake routes this happens:
rake aborted!
YAML syntax error occurred while parsing /home/sandro/workspace/philosophica/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): could not find expected ':' while scanning a simple key at line 24 column 1
/home/sandro/workspace/philosophica/config/environment.rb:5:in `<top (required)>'
Psych::SyntaxError: (<unknown>): could not find expected ':' while scanning a simple key at line 24 column 1
(erb):87:in `<main>'
/home/sandro/workspace/philosophica/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => routes => environment
My config/environment.rb looks like this:
# Load the Rails application.
require File.expand_path('../application', __FILE__)
# Initialize the Rails application.
Rails.application.initialize! #line 5
Maybe this is helpful
Edit 3: Here is my gemfile:
source 'https://rubygems.org'
ruby File.read('.ruby-version').strip
gem 'devise'
gem 'figaro'
gem 'pg_search'
gem 'bootstrap3-datetimepicker-rails'
gem 'momentjs-rails'
gem 'bootstrap-datepicker-rails'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.5'
# Use postgresql as the database for Active Record
gem 'mailgun-ruby', '~>1.0.2', require: 'mailgun'
gem 'delayed_job_active_record'
gem 'tinymce-rails'
gem 'pg', '~> 0.15'
group :production do
gem 'rails_12factor'
end
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'acts-as-taggable-on'
gem 'rake', '~> 11.1.2'
gem 'simple_form'
# Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'gon'
gem 'sprockets'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug'
end
group :development do
# Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console', '~> 2.0'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end
Edit 4: #Rewritten: You mean like this? If so, I still have the same error
development:
<<: *default
database: philosophica_development
default: &default
adapter: postgresql
encoding: unicode
pool: 5
host: localhost
username: name
password: password
It seems that your default block is down in the file. YAML is not able to look for forward references, so the &default marker MUST come before its corresponding <<: *default insertion point(s).
# not working
development:
<<: *default
default: &default
adapter: postgresql
instead of
# working
default: &default
adapter: postgresql
development:
<<: *default
Check if the syntax error is in an other referenced yml file in the project (e.g secrets.yml).
It seems that errors in secrets.yml are reported as errors in database.yml.
Please check if in this empty line there are no blank characters like 'tab' because:
Please note that YAML must be consistently indented using spaces. Tabs are not allowed.
Try changing the password, maybe you are using some invalid character that affects the parsing
I have ran mysql2 install (3.11) successfully and activerecord-mysql2-adapter is in my gem list. I have run bundle install when I did created new project.
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:214:in 'block in replace_gem': Please install the mysql2 adapter: 'gem install activerecord-mysql2-adapter' (mysql2 is not part of the bundle. Add it to Gemfile.) (LoadError)
Please help me, I cant even get rails server running. Could my other programs be blocking rails or possibly fire wall? What program can I allow in firewall if so?
My Gemfile specifies the following.
source 'https://rubygems.org'
gem 'rails'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
My Error generated is here
Exiting
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:214:in `block in replace_gem': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (mysql2 is not part of the bundle. Add it to Gemfile.) (LoadError)
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:3:in `<top (required)>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:50:in `resolve_hash_connection'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:41:in `resolve_string_connection'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:25:in `spec'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:130:in `establish_connection'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/railtie.rb:82:in `block (2 levels) in <class:Railtie>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:42:in `each'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/base.rb:720:in `<top (required)>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/activerecord-3.2.13/lib/active_record/railtie.rb:88:in `block in <class:Railtie>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/initializable.rb:30:in `instance_exec'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/i
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/initializable.rb:55:in `block in run_initializers'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `each'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `run_initializers'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/application.rb:136:in `initialize!'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
from C:/Users/Charlie/Documents/RailsProject/shop/config/environment.rb:5:in `<top (required)>'
from C:/Users/Charlie/Documents/RailsProject/shop/config.ru:3:in `require'
from C:/Users/Charlie/Documents/RailsProject/shop/config.ru:3:in `block in <main>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack1.4.5/lib/rack/builder.rb:51:in`instance_eval'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder.rb:51:in`initialize'
from C:/Users/Charlie/Documents/RailsProject/shop/config.ru:in `new'
from C:/Users/Charlie/Documents/RailsProject/shop/config.ru:in `<main>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/builder.rb:40:in`parse_file'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties3.2.13/lib/rails/commands/server.rb:46:in `app'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server.rb:304:in`wrapped_app'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties3.2.13/lib/rails/commands/server.rb:70:in `start' from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
You have to make sure that your database.yml file is correct.
You should have
adapter: mysql2 not mysql/anything
Thanks.
plz check your config/database.yml file in it your structure should be like this
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: abc_development
pool: 5
username: your_database_username
password: your_database_password
host: localhost
for all 3 environments
and most important you should create your mysql databse for this you have mysql install on your system.give username and password to your database and add it in your database.yml file
Hi i got the same Problem like this guy: Ruby Guard questions - 'Please install the sqlite3 adapter' - railstutorial.org
Executing "bundle exec rspec spec/requests/static_pages_spec.rb" gives me this:
C:\Users\Me\Ruby\sample_app>bundle exec rspec spec/requests/static_pages_spec
.rb
Rack::File headers parameter replaces cache_control after Rack 1.5.
C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/rubygems_integrati
on.rb:147:in `block in replace_gem': Please install the sqlite3 adapter: `gem in
stall activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it t
o Gemfile.) (LoadError)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/connection_adapters/sqlite3_adapter.rb:3:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `block in require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:236:in `load_dependency'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/connection_adapters/abstract/connection_specification.rb:50:in `resolve_h
ash_connection'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/connection_adapters/abstract/connection_specification.rb:41:in `resolve_s
tring_connection'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/connection_adapters/abstract/connection_specification.rb:25:in `spec'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/connection_adapters/abstract/connection_specification.rb:130:in `establis
h_connection'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/railtie.rb:82:in `block (2 levels) in <class:Railtie>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/lazy_load_hooks.rb:36:in `instance_eval'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/lazy_load_hooks.rb:36:in `execute_hook'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/lazy_load_hooks.rb:42:in `each'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/lazy_load_hooks.rb:42:in `run_load_hooks'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_
record/base.rb:720:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils/extensions/active_record/base.rb:19:in `<module:Extensions>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils/extensions/active_record/base.rb:4:in `<module:Rails>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils/extensions/active_record/base.rb:2:in `<module:RSpec>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils/extensions/active_record/base.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `block in require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:236:in `load_dependency'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils/extensions.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `block in require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:236:in `load_dependency'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-rails-2.11.0/lib/rspec/ra
ils.rb:8:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `block in require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:236:in `load_dependency'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active
_support/dependencies.rb:251:in `require'
from C:/Users/Ayhan/Ruby/sample_app/spec/spec_helper.rb:4:in `<top (requ
ired)>'
from C:/Users/Ayhan/Ruby/sample_app/spec/requests/static_pages_spec.rb:1
:in `require'
from C:/Users/Ayhan/Ruby/sample_app/spec/requests/static_pages_spec.rb:1
:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/configuration.rb:780:in `load'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/configuration.rb:780:in `block in load_spec_files'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/configuration.rb:780:in `map'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/configuration.rb:780:in `load_spec_files'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/command_line.rb:22:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/runner.rb:69:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.11.1/lib/rspec/cor
e/runner.rb:8:in `block in autorun'
But my database.yml looks like this:
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
development:
adapter: postgresql
host: localhost
username: user
database: app-dev
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
What do i have to change in here?
Or is there another problem i cant see?
P.S: I installed postgreSQL, thats why i changed the development passage in the database.yml. And the gemfile looks like this:
source 'https://rubygems.org'
gem 'rails', '3.2.11'
gem 'pg', '0.12.2'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'rspec-rails', '2.11.0'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.5'
gem 'coffee-rails', '~> 3.2.2'
gem 'uglifier', '>= 1.2.3'
end
gem 'jquery-rails'
group :test do
gem 'capybara', '1.1.2'
end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
With the current configuration in config/database.yml, development env is on postgres while test & production are using sqlite3. And there is no sqlite3 gem included in the Gemfile. Hence the error message about Please install the sqlite3 adapter.
Why not use postgres for all of your environments instead of only for development?
Make the sections for test and production similar to that of development in config/database.yml with appropriate database names - database: app-test & database: app-prod` respectively.
Alternatively, if you want to use sqlite3 for certain environments, include the sqlite3 gem for that environment alone, and pg gem for the other environments.
Example Gemfile config:
The below config will include pg gem only for production, and sqlite3 gem only for development & test environment.
group :production do
gem 'pg', '0.11.0'
end
group :development, :test do
gem 'sqlite3-ruby', :require => 'sqlite3'
end