Ruby on rails 在heroku上部署rails应用程序
哎 恐怕我应该问一个新手问题: 将我的应用程序推送到heroku之后。我得到的错误是没有数据库 这是我使用的命令 heroku rake db:迁移 我的应用程序可以在本地运行,没有问题,但我注意到数据库文件只在开发中。 我的测试环境只使用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
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)[确保您理解这将清除生产数据库]
config/database.yml
文件覆盖您的存储库config/database.yml
,并带有连接到数据库的适当条目。它可能是一个符号链接,但结果是相同的。通用Capistrano和Chef部署配方同样的策略,所以这不是Heroku独有的。对,但他问如何创建数据库。我相信Heroku会为你做的。我发布日志文件,我仍然找不到问题Heroku用自己的config/database.yml
文件覆盖你的存储库config/database.yml
,并为conn添加适当的条目连接到数据库。它可能是一个符号链接,但最终是一样的。Capistrano将军和Chef Deploy菜谱采用相同的策略,因此这不是Heroku独有的。对,但他问如何创建数据库。我相信Heroku会为您做这件事。