DigitalOcean App Platform does not parse ${db.DATABASE_URL} after bulk editor changes
I am using DigitalOcean App Platform to deploy a Django app. The initial deployment worked fine, but I've attempted to use the bulk editor on the component-level environment variables, and since then, the deployment fails when executing dj_database_url.config(default=config('DATABASE_URL')
.
For debugging, I added this line to settings.py
:
print(f"[BUILD DEBUG] DATABASE_URL = {repr(os.environ.get('DATABASE_URL'))}")
This returns [BUILD DEBUG] DATABASE_URL = '${db.DATABASE_URL}'
in the build logs.
I don't understand why the environment variable is not resolving. My app spec looks like this:
services:
- environment_slug: python
envs:
- key: DATABASE_URL
scope: RUN_AND_BUILD_TIME
value: ${db.DATABASE_URL}
Could this be a bug, or am I doing something wrong? Yes, my database is named correctly:
databases:
- engine: PG
name: db
The only thing that changed between my last deployment and this failed deployment, besides a few lines of code, is that I used the bulk editor to add new environment variables. Some of the existing environment variables were encrypted, but they look OK in the app spec.