Rails 3.0 Ошибка производственного режима - PullRequest
0 голосов
/ 23 августа 2011

Я пытаюсь перевести приложение rails 3.0 в рабочий режим.Я размещаю это на slicehost.com.Я установил ruby ​​1.8.7, обновил мои гемы, установил rails 3.0, установил mysql, установил пассажира, и загрузилось пустое приложение rails.У меня есть мой файл XML для подключения к БД.Я даже добавил RailsEnv production в мою конфигурацию apache2 (хотя мне сказали, что по умолчанию он работает).

Затем я перехожу в мое приложение и запускаю rake db: migrate RAILS_ENV = production и получаю следующую ошибку:

Не удалось найти гем 'sqlite3'

Теперь я запутался, потому что я пытаюсь создать производственную базу данных в mysql, так почему он заботится о sqlite3.

Это говорит мне сделать установку пакета, но я мог только догадываться, что это собирается настроить db разработки.

Любой совет здесь.

Я не знаю, что они сделали вrails 3.0, но это действительно раздражает.

Мне нравится, как в 2.x вы просто добавляете RAILS_ENV = 'production' в свой файл среды.

Любые способы разглагольствовать.

Буду признателен за помощь.

Спасибо,

Брайан

Обновление:

войдите как: root root @ пароль: Добро пожаловать в Ubuntu 11.04 (GNU / Linux 2.6.35.4-rscloud x86_64)

  • Документация: https://help.ubuntu.com/ У вас есть почта.Последний вход в систему: вт 23 августа 14:15:09 2011 от adsl-99-142-52-152.dsl.emhril.sbcglobal.net root @: ~ # dir public_html rvm-установщик получает root @: ~ # cd public_html root @: ~ / public_html # cd ticket root @: ~ / public_html / ticket # rake db: migrate RAILS_ENV = production ВНИМАНИЕ: Эта версия mysql2 (0.3.7) больше не поставляется с адаптером ActiveRecord, связанным больше, так как теперь она является частью Rails3.1 ВНИМАНИЕ: Пожалуйста, используйте релизы 0.2.x, если вы планируете использовать его в Rails <= 3.0.x rake aborted!!!!Отсутствует драгоценный камень mysql2.Добавьте его в свой Gemfile: gem 'mysql2' </li>

Задачи: TOP => db: migrate (полная трассировка выполняется путем запуска задачи с --trace) root @: ~ / public_html / ticket #

1 Ответ

0 голосов
/ 23 августа 2011

Вы можете решить эту проблему, используя группы в своем Gemfile.

Добавьте sqlite только для групп тестирования и разработки, а также в пакете для производственного запуска под именем

bundle install --without test development

Образец Gemfile:

gem "mysql2", "~> 0.2.7
gem "passenger"

gem "sqlite3", :group => :development

Источник: http://gembundler.com/groups.html

ОБНОВЛЕНО: Начиная с версии 0.3.0 и ActiveRecord 3.1 - адаптер ActiveRecord был извлечен из гема mysql2 в сам ActiveRecord. Если вам нужно использовать mysql2 с версиями Rails <3.1, убедитесь, что в вашем Gemfile </p> указан gem "mysql2", "~> 0.2.7".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...