Rails 3.2.3想在mysql生产环境中使用sqlite3 gem

时间:2012-04-25 23:44:19

标签: mysql ruby-on-rails sqlite rake capistrano

我有一个Rails 3.2.3应用程序,它与Capistrano一起部署。到目前为止,这个工作流程现在已经好几个月了。但是自从上次部署最新更改以来,rake db:migrate操作因为无法找到SQLite3 gem和适配器而挂起。

executing "cd /home/*/*/*/releases/20120425232058 && bundle exec rake RAILS_ENV=production  db:migrate"
executing command
rake aborted!
Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it to Gemfile.)
事实是,应用程序正在MySQL上运行。我有我的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'jquery-rails'
gem 'omniauth-openid'
gem 'will_paginate'
gem 'pusher'
gem 'carrierwave'
gem 'capistrano'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

group :development, :production do
  gem 'mysql2'
end

group :production do
  gem 'unicorn'
end

和database.yml文件:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: *****_development
  pool: 5
  username: *****
  password: *****
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: *****_production
  pool: 5
  username: *****
  password: *****
  host: localhost

应用程序在本地计算机上的生产模式下运行没有问题。

为什么Rails会尝试安装SQLite?

3 个答案:

答案 0 :(得分:2)

我相信你的config / database.yml

中指定了sqlite

答案 1 :(得分:1)

我的坏人。卡皮斯特拉诺食谱出了点问题。谢谢你的答案!

答案 2 :(得分:0)

您可以在新部署中发布更改列表吗?也许这是一个问题,其中一个宝石也使用ActiveRecord