Ruby on rails 将我的Rails数据库切换到PostgreSQL for Heroku,现在该应用程序可以';根本无法访问数据库
我真的被这件事难住了。我试过很多东西 我必须从SQLite3切换到PostgreSQL,这样才能在Heroku上部署。我在本地运行时,一切正常。有一个错误发生在我推heroku master之后。它开始部署,我发现:Ruby on rails 将我的Rails数据库切换到PostgreSQL for Heroku,现在该应用程序可以';根本无法访问数据库,ruby-on-rails,postgresql,heroku,heroku-postgres,Ruby On Rails,Postgresql,Heroku,Heroku Postgres,我真的被这件事难住了。我试过很多东西 我必须从SQLite3切换到PostgreSQL,这样才能在Heroku上部署。我在本地运行时,一切正常。有一个错误发生在我推heroku master之后。它开始部署,我发现: Rails无法推断您是否正在使用database.yml中的多个数据库,也无法为非主数据库生成任务。如果您想使用此功能,请简化您的ERB 当我运行heroku rake时也会发生这种情况,除了它后面跟着以下内容: rake中止!Psych::BadAlias:无法加载数据库配置:未
Rails无法推断您是否正在使用database.yml中的多个数据库,也无法为非主数据库生成任务。如果您想使用此功能,请简化您的ERB代码>
当我运行heroku rake时也会发生这种情况,除了它后面跟着以下内容:
rake中止!Psych::BadAlias:无法加载数据库配置:未知别名:默认值
然后是堆栈跟踪
我想我一路上把事情搞砸了。我只是不知道它在期待什么,或者我应该去哪里寻找。My database.yml如下所示:
production:adapter:postgresql encoding:utf8 pool:15实际上,您几乎不需要进行任何配置就可以让Postgres在Heroku上工作,因为它提供了几乎完整的配置,通过该配置可以自动与database.yml
中的设置合并(并优先于该设置)
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 15 } %>
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
production:
<<: *default
default:&default
适配器:postgresql
编码:unicode
游泳池:
发展:
实际上,要让Postgres在Heroku上工作,您几乎不需要进行任何配置,因为它提供了几乎所有的配置,通过这些配置,可以自动与database.yml
中的设置合并(并优先于这些设置)
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 15 } %>
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
production:
<<: *default
default:&default
适配器:postgresql
编码:unicode
游泳池:
发展:
嗨,布莱恩,你能发布完整的database.yml文件吗?我们的想法是查看“default”条目。谢谢,下面的注释有助于消除该错误,但我看到了另一个错误,因此我将发布Hi Brian,你能发布完整的database.yml文件吗?这样做的目的是查看“默认”条目。谢谢,下面的评论有助于消除该错误,但我看到了另一个错误,因此我将在这里发布感谢!事实上,我之前已经能够做到这一点,我得到了以下错误:ActiveRecord::StatementInvalid(PG::UndefinedTable:error:relation“users”不存在2020-01-07T00:03:44.787597+00:00应用程序[web.1]:第8行:其中a.attrelid=““users”::regclass 2020-01-07T00:03:44.787600+00:00应用程序[web.1]:^
这也是我的Heroku日志中的PG::UndefinedTable
错误通常会告诉您忘记运行创建表的迁移。您必须使用Heroku run rails db:migrate
在本地和Heroku上运行迁移。我知道我遗漏了一些东西。非常感谢您!我还以为是这样哈哈,谢谢!我之前确实能做到这一点,我得到了以下错误:ActiveRecord::StatementInvalid(PG::UndefinedTable:error:relationship“users”不存在2020-01-07T00:03:44.787597+00:00 app[web.1]:第8行:其中a.attrelid=''users'::regclass 2020-01-07T00:03:44.787600+00:00 app[web.1]:^
这也是我的Heroku日志中的PG::UndefinedTable
错误通常会告诉您忘记运行创建表的迁移。您必须使用Heroku run rails db:migrate
在本地和Heroku上运行迁移。我知道我遗漏了一些东西。非常感谢您!我还以为是这样兴大得多哈哈。