使用管道配置数据库时,如何在Heroku上自动运行扩展安装命令?

时间:2018-11-19 00:32:47

标签: postgresql heroku postgis geodjango heroku-postgres

每当我在github中创建新的PR时,我就使用Heroku Pipelines功能自动创建评论应用。这将为您提供一个新的数据库并迁移所有数据库模式。迁移此架构时,我会收到此错误:

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type'

我想使用PostGIS,这意味着我需要运行CREATE EXTENSION postgis; 自动配置后在数据库上。我的直觉是我收到此错误,因为该扩展在运行python manage.py migrate时尚未安装。在构建我的评论应用程序时,我将如何以自动化方式运行它?

1 个答案:

答案 0 :(得分:1)

这有点麻烦,因为评论应用尚不支持它,但是您可以教postdeploy脚本一个新技巧。像这样:

  

“ postdeploy”:“回显'如果不存在postgis,则创建扩展;' | psql $ DATABASE_URL &&-在此处运行您的迁移-“

这将在运行迁移之前通过管道创建扩展,以解决您遇到的问题。