rails deploy - база данных не загружается

Я работаю над развертыванием своего первого приложения для рельсов, и данные базы данных с моего локального компьютера, похоже, не загружаются в базу данных на сервере при развертывании с помощью capistrano. Мне не ясно, позаботится об этом капистрано или нет. Я также попытался запустить «rake db:schema:load» из каталога /current release. Вот журнал того, что происходит, когда я пытаюсь загрузить приложение (на удаленном веб-сервере) в браузере.

Started GET "/" for XX.XX.XX.XX at 2012-04-04 13:26:46 -0700
  Processing by PagesController#home as HTML
Completed 500 Internal Server Error in 3ms

ActiveRecord::StatementInvalid (Mysql::Error: Table 'project.users' doesn't exist: SHOW FIELDS FROM `users`):
  app/models/user.rb:61:in `authenticate_with_salt'
  app/helpers/sessions_helper.rb:50:in `user_from_remember_token'
  app/helpers/sessions_helper.rb:13:in `current_user'
  app/helpers/sessions_helper.rb:17:in `signed_in?'
  app/controllers/pages_controller.rb:5:in `home'

Таким образом, проблема заключается в том, что приложение загружается, но БД не заполняется таблицами и данными.

Я уверен, что мне не хватает относительно базовой детали процесса развертывания, но пока это ускользает от меня... Любая помощь будет очень признательна! Спасибо.


person J K    schedule 05.04.2012    source источник


Ответы (1)


Как выглядит ваш Capfile?

Ни Rails, ни Capistrano не будут копировать данные из вашей среды разработки в вашу среду развертывания — db:migrate:* и db:schema:* обрабатывают только структуру базы данных. Прежде чем использовать rake db:schema:load, убедитесь, что миграция вашей среды разработки выполнена, а последняя версия db/schema.rb зарегистрирована в вашем репозитории.

Если вы хотите, чтобы определенные данные были в вашей базе данных после развертывания, посмотрите db/seeds.rb. Существует также множество гемов для заполнения данных базы данных.

person Jordan Running    schedule 05.04.2012