2012-04-05 77 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