我现在已经和Heroku部署同样的问题两天了。所以我考虑过尝试使用OpenShift,但我正在阅读Michael Hartl的Ruby On Rails教程,第二版,你可能都知道,他们使用的是Heroku。我的错误已深入并且涉及到很多,所以我考虑重新开始,但我觉得我最终会回到这个问题。
目前,我读到:https://devcenter.heroku.com/articles/sqlite3
如果您要启动新的Rails应用程序,可以通过运行以下命令使postgres成为默认数据库:
$ rails new -d postgresql
当我这样做时,这就是我所遇到的:
$ rails new -d postgresql
Can't initialize a new Rails application within the directory of another, please change to a non-Rails directory first.
答案 0 :(得分:1)
$ rails new
初始化一个新的Rails应用程序。如果您已经有一个现有的Rails应用程序,并且想要切换到PostgreSQL,请跳过它,只需更新Gemfile。
编辑您的Gemfile并删除此行:
gem 'sqlite3'
替换为此行:
gem 'pg'
您还需要按照文章中的说明更新配置文件。 Heroku文章Getting Started with Rails介绍了如何转换现有应用。
此外,您必须在本地安装PostgreSQL,创建数据库并重新加载架构。您将找到几篇文章,其中包含执行此类任务所需的命令列表。
如果您使用SQLite进行开发并使用PostgreSQL进行生产,则可能会避免在本地安装PostgreSQL,但不建议这样做。