代码之家  ›  专栏  ›  技术社区  ›  xji Paul Rada

Travis CI忽略Postgres版本规范

  •  0
  • xji Paul Rada  · 技术社区  · 7 年前

    .travis.yml :

    language: elixir
    elixir: "1.6.4"
    otp_release: "20.1"
    addons:
      - postgresql: "9.6"
    services:
      - postgresql
    env:
      - MIX_ENV=test
    before_script:
      - psql --version
      - psql -c 'SELECT version();' -U postgres
      - psql -c 'create database travis_ci_test;' -U postgres
      - cp config/travis_test.exs config/test.secret.exs
      - mix do ecto.migrate
    
    

    在创建DB时,我总是会遇到以下错误:

    ** (Postgrex.Error) ERROR 42704 (undefined_object): type "jsonb" does not exist

    显然,这两个命令显示Postgres的版本总是9.2,这是默认的 trusty

    有一个类似的问题: .travis.yml version setting for postgresql ignored addons 按两次键 文件。

    我不知道我的案子发生了什么。

    1 回复  |  直到 7 年前
        1
  •  2
  •   xji Paul Rada    7 年前

    最后,将dist显式设置为 xenial 帮我解决了。

    language: elixir
    elixir: "1.6.4"
    otp_release: "20.1"
    dist: xenial
    addons:
      - postgresql: "9.6"
    services:
      - postgresql
    env:
      - MIX_ENV=test
    before_script:
      - psql --version
      - psql -c 'SELECT version();' -U postgres
      - psql -c 'create database travis_ci_test;' -U postgres
      - cp config/travis_test.exs config/test.secret.exs
      - mix do ecto.migrate
    

    trusty ,自 Build system information 输出特别指出,9.6.6版也预装在系统上。