2009-11-25 2 views
0

Итак, я только что попытался перенести свое первое приложение с рельсами из среды разработки на своем ноутбуке в мою размещенную среду (только на другой машине, которая находится снаружи), но я, похоже, все время получаю ошибки с apache/пассажир пытается запустить мое приложение.Приложение для пассажира + Rails не загружается

В основном я правильно настроил apache и пассажира, поскольку основной сайт по-прежнему работает без проблем, однако, когда я пытаюсь перейти к моему подкаталогу, который запускает приложение rails, я получаю ошибку 500, говоря, что что-то пошло не так. После глядя на производство бревен он говорит, что нет никаких данных

Processing CourseController#list (for 76.26.115.2 at 2009-11-25 09:30:13) [GET] 
Parameters: {"action"=>"list", "controller"=>"course"} 

ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: courses: SELECT * FROM "courses"): 
app/controllers/course_controller.rb:5:in `list' 
passenger (2.2.5) lib/phusion_passenger/rack/request_handler.rb:95:in `process_request' 
passenger (2.2.5) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop' 
passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:378:in `start_request_handler' 
passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:336:in `handle_spawn_application' 
passenger (2.2.5) lib/phusion_passenger/utils.rb:183:in `safe_fork' 
passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:334:in `handle_spawn_application' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `__send__' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:163:in `start' 
passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:213:in `start' 
passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application' 
passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' 
passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application' 
passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize' 
passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' 
passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application' 
passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application' 
passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `__send__' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' 
passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' 

Rendering /webapps/vitaal/public/500.html (500 Internal Server Error) 

Я пытался загрузить разработки баз данных несколько раз через SQLite, но просто не могу показаться, чтобы получить его, я не думаю. Это проблема, потому что я пытаюсь запустить среду разработки на другой машине? Нужно ли мне перейти на производство, чтобы это работало? Это интересно, потому что эти ошибки появляются только в журналах производства, а не в журналах разработки.

Любая информация была бы полезна, спасибо!

+0

Посмотрите на миграцию базы данных, чтобы понять, почему таблицы «курсы» не создаются. –

ответ

6

Ваша ошибка возникает из-за неправильной миграции вашей производственной базы данных. В config/database.yml вы найдете все настройки для используемых баз данных. Основная ошибка возникает не из Rails или Passenger, а из SQLite.

Это ваши варианты:

  • запустить миграция рабочей базы данных

    В ваших рельсах приложение
    грабли БД: создать RAILS_ENV = производство
    грабли БД: мигрировать: сброс RAILS_ENV = production (работает db: migrate: reset удалит любые данные из базы данных!)

ИЛИ

  • Изменение конфигурации в вас конфигурации/database.yml файл, чтобы она указывала на вашу базу данных разработки, которая, как представляется, имеется. (Вы должны пересмотреть работу SQLite в производстве и, возможно, взглянуть на MySQL вместо этого). Вы также можете скопировать свою предыдущую базу данных development.sqlite3 и написать в базе данных production.sqlite3, учитывая, что это имя, которое вы использовали в файле database.yml.

Потому что вы говорите, что пытались «загрузить базу данных разработки», моя догадка (если выше не работает) заключается в том, чтобы хорошо взглянуть на файл config/database.yml и убедиться, что вы используя правую базу данных для вашей производственной среды.

Смежные вопросы