Rails: 在CircleCI 2.0上运行rake db:structure:load超时

18

目前,在CircleCI上设置数据库的命令是运行rake db:schema:load。在从使用schema.rb迁移到structure.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上发现有人遇到了同样的问题,但没有得到答案。

2个回答

26

这似乎与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

2
使用类似的方法,我通过semaphoreci解决了这个问题。 - Bryan H.

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接