我的database.yml
看起来像这样:
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: project_production
pool: 5
username: root
password: mypwd
host: /var/mysql/mysql.sock
项目在生产服务器上加载,我正在执行:
server:projectfolder admin$ rake db:schema:load RAILS_ENV=production
然后回来:
Could not find sqlite3-ruby-1.3.2 in any of the sources
Try running `bundle install`.
我已经完成了捆绑安装,但不确定为什么它甚至会关注生产中的sqlite3?!
fyi - 我的Gemfile有:
group :development, :test do
gem 'sqlite3-ruby', :require => 'sqlite3'
end
任何人都可以帮我看看我搞砸了什么吗?
答案 0 :(得分:1)
假设您的sqlite3-ruby
gem已经进入了不包含:production
的组,您可以运行:
env RAILS_ENV=production bundle install --without development test
这将创建一个.bundle
目录,指示ruby不要加载任何未设置为:production
的gem。
答案 1 :(得分:0)
尝试跑步:
export RAILS_ENV='production'
rake ...