2012-04-05 30 views
0

我正在處理我的第一個rails應用程序部署,並且當我部署capistrano時,來自本地計算機的數據庫數據似乎沒有被加載到服務器上的數據庫中。我不清楚卡皮斯特拉諾是否照顧這件事。我也嘗試從/ current release目錄運行'rake db:schema:load'。以下是我嘗試在瀏覽器中加載應用程序(在遠程Web服務器上)時發生的情況的日誌。rails部署 - 數據庫沒有上傳

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' 

所以問題似乎是應用程序加載,但數據庫沒有填充表和數據。

我確定我錯過了部署過程的一個相對基本的細節,但到目前爲止它逃脫了我......任何幫助將mucho讚賞!謝謝。

回答

1

你的Capfile是什麼樣的?

Rails和Capistrano都不會將數據從您的開發環境複製到您的部署環境中 - db:migrate:*db:schema:*只能處理數據庫結構。在使用rake db:schema:load之前,請確保您的開發環境遷移已經運行,並且您的最新db/schema.rb已簽入您的回購。

如果您希望某些數據在部署時位於數據庫中,請查看db/seeds.rb。還有用於播種數據庫數據的many gems