Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 将我的Rails数据库切换到PostgreSQL for Heroku,现在该应用程序可以';根本无法访问数据库_Ruby On Rails_Postgresql_Heroku_Heroku Postgres - Fatal编程技术网

Ruby on rails 将我的Rails数据库切换到PostgreSQL for Heroku,现在该应用程序可以';根本无法访问数据库

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:无法加载数据库配置:未

我真的被这件事难住了。我试过很多东西

我必须从SQLite3切换到PostgreSQL,这样才能在Heroku上部署。我在本地运行时,一切正常。有一个错误发生在我推heroku master之后。它开始部署,我发现:

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上运行迁移。我知道我遗漏了一些东西。非常感谢您!我还以为是这样兴大得多哈哈。