首页 > 解决方案 > Rails: rake db:structure:load 在 CircleCI 2.0 上超时

问题描述

目前,rake db:schema:load正在运行以在 CircleCI 上设置数据库。在从使用迁移schema.rbstructure.sql,该命令已更新为:rake db:structure:load

不幸的是,它似乎挂起并且没有返回:

$ bin/rake db:structure:load --trace
** Invoke db:structure:load (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:structure:load
WARNING: terminal is not fully functional

 set_config 
------------

(1 row)

(END)rake aborted!
Interrupt:
<STACK TRACE>
bin/rake:9:in `<main>'
Tasks: TOP => db:structure:load
Too long with no output (exceeded 10m0s)

在 CircleCI 上发现其他人有同样的问题,但没有答案。

标签: ruby-on-railsdatabasepostgresqlcirclecicircleci-2.0

解决方案


这似乎与psql客户端向期望用户输入的终端的输出有关:

 set_config 
------------

(1 row)

(END)   <--- like from a terminal pager

不完全是正确的解决方案,而是一种解决方法.circleci/config.yml

jobs:
    build:
        docker:
          - image: MY_APP_IMAGE
            environment:
              PAGER: cat # prevent psql commands using less

推荐阅读