Question

DATABASE_URL is not recognized after following the django setup. Database says provisioning

Posted September 15, 2021 83 views
PythonDjangoPython FrameworksDevelopmentDigitalOcean App Platform

As I followed the tutorial I ran into this error

[2021-09-15 19:37:52]          File "/workspace/portfoliobackend/settings.py", line 92, in <module>
[2021-09-15 19:37:52]            raise Exception("DATABASE_URL environment variable not defined")
[2021-09-15 19:37:52]        Exception: DATABASE_URL environment variable not defined
[2021-09-15 19:37:53] 
[2021-09-15 19:37:53]  !     Error while running '$ python manage.py collectstatic --noinput'.
[2021-09-15 19:37:53]        See traceback above for details.
[2021-09-15 19:37:53] 
[2021-09-15 19:37:53]        You may need to update application code to resolve this error.
[2021-09-15 19:37:53]        Or, you can disable collectstatic for this application:
[2021-09-15 19:37:53] 
[2021-09-15 19:37:53]           $ heroku config:set DISABLE_COLLECTSTATIC=1
[2021-09-15 19:37:53] 
[2021-09-15 19:37:53]        https://devcenter.heroku.com/article

And I’ve already set the environment variable DATABASEURL equal to ${db.DATABASEURL}.

However, when I navigate to the DB it says that it’s being provisioned. And it’s been going on like this for hours. Is there a way to fix the provision changes happening with the DB, or am I doing something else incorrectly in the tutorial?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

👋 @jakesteele54

Thanks for reaching out. The logs look like build logs, not deployment logs. The DATABASE_URL env vars are not available during build time. So it makes sense that the env var is not showing up here.

If you need to do DB migrations we recommend using a Job component or doing those migrations on app startup.

Hope this helps! If you continue having trouble please submit a support ticket.