Skip to content

Skip the default heroku-postgresql addon if DATABASE_URL is set #1068

@edmorley

Description

@edmorley

Currently the Python buildpack's bin/release step sets a default heroku-postgresql addon if the app has a manage.py script.

However for use-cases where the app wishes to use a different Heroku addon, or a non-Heroku DB, this default addon at best is unused and at worst causes confusion.

To resolve this the buildpack could skip the default addon if DATABASE_URL were already set at the time of the first build.

This would cause the default addon to be skipped if either:

  1. the app had another addon attached prior to the first build (that provided the DATABASE_URL env var)
  2. DATABASE_URL was manually set (eg via review app apps.json env list) then the default DB would be skipped

For more background see the discussion in:
#1056

Note: The buildpack API does not provide the env dir location during release. As such the env var would need to be checked during bin/compile and either stored until bin/release, or else the release step refactored such that the payload is generated during bin/compile and saved to disk, and then bin/release simply returns the already-generated payload. The latter is what the Ruby buildpack does.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions