这里的堆栈溢出上有一个非常老的线程,Getting 'DatabaseOperations' object has no attribute 'geo_db_type' error when doing a syncdb。
但我与他们问题的不同之处在于,我的容器安装了POSTGIS和POSTGRES。具体而言,我使用了QGIS,图像如下所示
db:
image: kartoza/postgis:13.0
volumes:
- postgis-data:/var/lib/postgresql因此,在本地,我有两个码头图像-一个是web,另一个是kartoza/postgis。
我在settings.py文件中也有这个
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)支持地理信息系统的数据。我看到我所有的软件包-- gis,地理定位包--都没有问题。但是当我运行heroku运行python manage.py迁移时,我得到了上面的错误。
该网站运行的功能非常有限,因为地理变量是需要通过登陆页面。
我所采取的部署步骤是
heroku create appname
heroku stack:set container -a appname
heroku addons:create heroku-postgresql:hobby-dev -a appname
heroku git:remote -a appname
git push heroku main编辑在heroku上的db url是postgres://foobar:3242q34rq2rq32rf3q2rfq2q2r3vq23rvq23vr@er3-13-234-91-69.compute-,我还运行了下面的命令,它显示db现在使用,但是我仍然得到了错误
$ heroku pg:psql
create extension postgis;发布于 2021-05-29 00:17:38
好的,在14小时左右的阅读之后。这里的问题是
默认情况下,CREATE EXTENSION postgis;
heroku pg:psql,然后在码头容器中运行heroku pg:psql,结果它无法执行诸如hero pg:push localdatabase -postgresqlremoteherokudb和heroku config:add DATABASE_URL=postgis://foo:bar@localhost:5432/gis等功能,因此,如果有人在跟从python附近的教程,您可能也会在这里结束。我在这里被盯上了,认为这是一个db问题,但更多的是与heroku配置设置有关。如果您是从码头来这里的话,
如果您使用gunicorn作为静态文件,则仍然存在一些配置问题,因此该网站一开始不会正常启动。强烈建议您跟踪heroku日志错误(手动settings.py编码或heroku加载项)。
发布于 2021-05-27 19:31:10
尝试用localhost替换db
heroku config:add DATABASE_URL=postgis://foo:bar@localhost:5432/gishttps://stackoverflow.com/questions/67728723
复制相似问题