2009-11-25 83 views
0

因此,我剛剛嘗試將我的第一個Rails應用程序從我的筆記本電腦上的開發環境遷移到我的託管環境(只是另一臺面向外部的機器),但我似乎不斷收到錯誤apache /乘客試圖運行我的應用程序。Passenger + 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

看看你的數據庫遷移,以瞭解爲什麼沒有創建'courses'表。 – 2009-11-25 14:57:49

回答

6

出現錯誤是因爲您尚未正確遷移生產數據庫。在config/database.yml下你可以找到所有使用的數據庫的設置。 底層錯誤不是來自Rails或Passenger,而是來自SQLite。

這是你的選擇:

  • 運行生產數據庫遷移

    在你的Rails應用程序
    耙分貝:創建RAILS_ENV =生產
    耙分貝:遷移:復位RAILS_ENV =生產(運行db:migrate:reset將刪除數據庫中的任何數據!)

OR

  • 變化,你的config/database.yml文件的配置,以便它指向你的開發數據庫,​​這似乎是可用的。 (你應該重新考慮在生產環境中運行SQLite,也許應該看看MySQL)。您也可以複製以前的development.sqlite3數據庫並將其寫入production.sqlite3數據庫,因爲這是您在database.yml文件中使用的命名。

因爲你說你已經試圖「加載開發數據庫」我的猜測(如果上述不工作)是仔細看看config/database.yml文件,並確保你是爲您的生產環境使用正確的數據庫。

相關問題