Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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中的Postgres上加载Rails架构_Ruby On Rails_Heroku_Pg_Heroku Postgres - Fatal编程技术网

Ruby on rails 无法在Heroku中的Postgres上加载Rails架构

Ruby on rails 无法在Heroku中的Postgres上加载Rails架构,ruby-on-rails,heroku,pg,heroku-postgres,Ruby On Rails,Heroku,Pg,Heroku Postgres,我不明白为什么我的db:schema:load在Heroku上失败了。详情如下 heroku run rails db:schema:load --app appna DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=production Running rails db:schema:load DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=production on ⬢ appname... up, r

我不明白为什么我的
db:schema:load
在Heroku上失败了。详情如下

heroku run rails db:schema:load --app appna DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=production
Running rails db:schema:load DISABLE_DATABASE_ENVIRONMENT_CHECK=1 RAILS_ENV=production on ⬢ appname... up, run.3508 (Standard-1X)
This method is not allowed with this Ruby version. current: 2.5.1, allowed version: < 2.5.0
-- enable_extension("plpgsql")
D, [2018-08-06T00:12:27.213314 #4] DEBUG -- :   SQL (2.8ms)  CREATE EXTENSION IF NOT EXISTS "plpgsql"
D, [2018-08-06T00:12:27.229821 #4] DEBUG -- :   ↳ db/schema.rb:16
   -> 0.1128s
-- enable_extension("postgis")
D, [2018-08-06T00:12:27.497698 #4] DEBUG -- :   SQL (256.9ms)  CREATE EXTENSION IF NOT EXISTS "postgis"
D, [2018-08-06T00:12:27.501310 #4] DEBUG -- :   ↳ db/schema.rb:17
rails aborted!
ActiveRecord::QueryCanceled: PG::QueryCanceled: ERROR:  canceling statement due to statement timeout
: CREATE EXTENSION IF NOT EXISTS "postgis"
/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:603:in `async_exec'
heroku run rails db:schema:load--app appna DISABLE\u DATABASE\u ENVIRONMENT\u CHECK=1 rails\u ENV=production 运行rails db:schema:load DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rails_ENV=production on⬢ 应用程序名。。。向上,运行0.3508(标准-1X) 此Ruby版本不允许使用此方法。当前版本:2.5.1,允许的版本:<2.5.0 --启用扩展(“plpgsql”) D、 [2018-08-06T00:12:27.213314#4]调试--:SQL(2.8ms)如果不存在,则创建扩展名“plpgsql” D、 [2018-08-06T00:12:27.229821#4]调试--:↳ db/schema.rb:16 ->0.1128s --启用扩展(“postgis”) D、 [2018-08-06T00:12:27.497698#4]调试--:SQL(256.9ms)如果不存在,则创建扩展名“postgis” D、 [2018-08-06T00:12:27.501310#4]调试--:↳ db/schema.rb:17 rails中止了! ActiveRecord::QueryCanceled:PG::QueryCanceled:错误:由于语句超时而取消语句 :如果不存在,则创建扩展名“postgis” /app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active\u record/connection\u adapters/postgresql\u adapter.rb:603:in'async\u exec'
我使用的是Rails 5.2、Postgres 10、pg gem 1.0。

事实证明,Heroku在执行这些语句的命令时默认会超时。通过控制台手动启用POSTGIS扩展,可以毫无问题地加载模式的其余部分。

请阅读-总结是,这不是解决志愿者问题的理想方法,可能会对获得答案产生反作用。请不要将此添加到您的问题中。看起来您的语句超时了。您是在
数据库.yml
中配置的吗?