在heroku上部署rails应用程序

时间:2010-12-20 13:48:27

标签: ruby-on-rails deployment heroku

喂 我担心我应该问一个菜鸟问题:

将我的应用推送到heroku之后。我得到了没有数据库的错误

这是我使用的命令

  

heroku rake db:migrate

我的应用可以在本地运行没有问题,但我只注意到开发中的数据库文件。 我的测试环境只使用rails serverlocalhost:3000

任何人都告诉我如何在heroku中以生产模式创建数据库。

由于

这是heroku日志文件:

这是日志

  

开始GET“/鼓手/ 1”   221.9.247.14于12月18日星期六06:17:40 -0800 2010由DrummersController处理#show as HTML   参数:{“id”=>“1”}已完成   167ms

     

ActiveRecord :: RecordNotFound(不能   找到ID = 1的鼓手:   应用程序/控制器/ drummers_controller.rb:11:在   `秀“

     

我认为可能是由于datebase,配置文件,我在本地测试中使用sqlite3,并且所有迁移文件都是开发前缀,

3 个答案:

答案 0 :(得分:8)

它并没有告诉你没有数据库。

它告诉你它找不到特定的记录

(Couldn't find Drummer with ID=1): 

您的代码可能正在执行Drummer.find(1)并且在您的生产环境中不存在。

推荐你:

  • 创建种子文件(heroku rake db:seed)rails cast
  • 将整个数据库推送到heroku(heroku db:push)[确保你明白这会消灭你的生产数据库]

答案 1 :(得分:3)

Heroku为部署到它的每个应用程序创建一个数据库(无需运行heroku rake db:create。以下是您应该使用的命令将Rails应用程序部署到Heroku:

git init
git add .
git commit -m "initial import"
heroku create
git push heroku master
heroku rake db:migrate
heroku open

答案 2 :(得分:-1)

我相信如果根据Docs没有生产,Heroku会在部署时为您创建一个新的database.yml。