Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在heroku上部署rails应用程序_Ruby On Rails_Deployment_Heroku - Fatal编程技术网

Ruby on rails 在heroku上部署rails应用程序

Ruby on rails 在heroku上部署rails应用程序,ruby-on-rails,deployment,heroku,Ruby On Rails,Deployment,Heroku,哎 恐怕我应该问一个新手问题: 将我的应用程序推送到heroku之后。我得到的错误是没有数据库 这是我使用的命令 heroku rake db:迁移 我的应用程序可以在本地运行,没有问题,但我注意到数据库文件只在开发中。 我的测试环境只使用rails服务器和localhost:3000 有人告诉我如何在heroku中以生产模式创建数据库吗 谢谢 以下是heroku日志文件: 这是日志 开始获取“/鼓手/1” 221.9.247.14于2010年12月18日周六06:17:40-0800由Drum

哎 恐怕我应该问一个新手问题:

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

这是我使用的命令

heroku rake db:迁移

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

有人告诉我如何在heroku中以生产模式创建数据库吗

谢谢

以下是heroku日志文件:

这是日志

开始获取“/鼓手/1” 221.9.247.14于2010年12月18日周六06:17:40-0800由DrummersController进行处理#显示为HTML 参数:{“id”=>“1”}已在中完成 167ms

ActiveRecord::RecordNotFound(无法找到 查找ID为1的鼓手): app/controllers/drummers\u controller.rb:11:in `秀

我想可能是因为数据库,配置文件,我在本地测试中使用sqlite3,所有的迁移文件都是开发前缀


Heroku为部署到Heroku的每个应用程序创建一个数据库(无需运行
Heroku rake db:create

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

Heroku为部署到Heroku的每个应用程序创建一个数据库(无需运行
Heroku rake db:create

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

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

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

它不会告诉您没有数据库

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

(Couldn't find Drummer with ID=1): 
很可能您的代码正在做
Drummer.find(1)
,而这在您的生产环境中并不存在

建议您:

  • 创建种子文件(heroku rake db:seed)
  • 将整个数据库推送到heroku(heroku db:push)[确保您理解这将清除生产数据库]

    • 它并没有告诉您没有数据库

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

      (Couldn't find Drummer with ID=1): 
      
      很可能您的代码正在做
      Drummer.find(1)
      ,而这在您的生产环境中并不存在

      建议您:

      • 创建种子文件(heroku rake db:seed)
      • 将整个数据库推送到heroku(heroku db:push)[确保您理解这将清除生产数据库]

      我发布了日志文件,但仍然找不到问题Heroku用自己的
      config/database.yml
      文件覆盖您的存储库
      config/database.yml
      ,并带有连接到数据库的适当条目。它可能是一个符号链接,但结果是相同的。通用Capistrano和Chef部署配方同样的策略,所以这不是Heroku独有的。对,但他问如何创建数据库。我相信Heroku会为你做的。我发布日志文件,我仍然找不到问题Heroku用自己的
      config/database.yml
      文件覆盖你的存储库
      config/database.yml
      ,并为conn添加适当的条目连接到数据库。它可能是一个符号链接,但最终是一样的。Capistrano将军和Chef Deploy菜谱采用相同的策略,因此这不是Heroku独有的。对,但他问如何创建数据库。我相信Heroku会为您做这件事。