gpt4 book ai didi

python - 如何在 gitlab-ci.yml 中将 postgis 扩展添加到 postgresql 数据库

转载 作者:行者123 更新时间:2023-11-29 12:07:32 24 4
gpt4 key购买 nike

我在 gitlab-ci.yml 文件中设置测试阶段,但在为 postgresql 数据库配置 postgis 扩展时出现错误。

我的 Django 环境需要 DATABASE_URL,例如 postgis://...

我最新版本的gitlab-ci.yml:

image: python:3.6

services:
- postgres:9.6

variables:
POSTGRES_DB: test_db
POSTGRES_USER: test_user
POSTGRES_PASSWORD: test_pass
DATABASE_URL: "postgis://test_user:test_pass@postgres:5432/test_db"

stages:
- test
- build

test:
stage: test
script:
- apt-get update -qy
- apt-get -y install binutils libproj-dev gdal-bin postgis*
- pip3 install pipenv
- pipenv install --dev
- export DATABASE_URL=$DATABASE_URL
- pipenv run test

Gitlab Pipeline错误响应:

Running with gitlab-runner 11.5.0 (3afdaba6)
on docker-auto-scale fa6cab46
Using Docker executor with image python:3.6 ...
Starting service postgres:9.6 ...
Pulling docker image postgres:9.6 ...
$ export DATABASE_URL=$DATABASE_URL
$ pipenv run test
/root/.local/share/virtualenvs/pixel-api-yo4gnz48/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
""")
Creating test database for alias 'default'...
Traceback (most recent call last):
File "/root/.local/share/virtualenvs/pixel-api-yo4gnz48/lib/python3.6/site-packages/django/db/backends/utils.py", line 83, in _execute
return self.cursor.execute(sql)
psycopg2.OperationalError: could not open extension control file "/usr/share/postgresql/9.6/extension/postgis.control": No such file or directory

django.db.utils.OperationalError: could not open extension control file "/usr/share/postgresql/9.6/extension/postgis.control": No such file or directory

最佳答案

尝试使用 django documentation 中的替代选项:

from django.contrib.postgres.operations import CreateExtension
from django.db import migrations

class Migration(migrations.Migration):

operations = [
CreateExtension('postgis'),
...
]

关于python - 如何在 gitlab-ci.yml 中将 postgis 扩展添加到 postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54087590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com