Почему Rails ищет SQLite3 на моем производственном сервере? - PullRequest
1 голос
/ 20 ноября 2010

Мой 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 в производственном процессе?я вижу, что я облажался?

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Предполагая, что ваш sqlite3-ruby гем уже входит в группу, которая не включает :production, вы можете просто запустить:

env RAILS_ENV=production bundle install --without development test

Это создаст каталог .bundle, инструктирующий ruby ​​не загружатьлюбой драгоценный камень не установлен на :production.

0 голосов
/ 20 ноября 2010

Попробуйте запустить:

export RAILS_ENV='production'
rake ...
...