Django: Deploying an application on Heroku with sqlite3 as the database

All we need is an easy explanation of the problem, so here it is.

I want to deploy an application with sqlite3 as the database on Heroku. However, it seems to be that Heroku doesn’t support applications with sqlite3 as the database. Is it true? Is there no way to deploy my sqlite3-backed application on Heroku?

PS: I have successfully deployed my application using PythonAnywhere, but would now like to know whether there’s any possible way to deploy it using Heroku.

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

As Heroku’s dynos don’t have a filesystem that persists across deploys, a file-based database like SQLite3 isn’t going to be suitable. It’s a great DB for development/quick prototypes, though.

Heroku do have a Postgres offering however that will suit – with a free tier and a basic $9/month tier that are good for hobby/small projects. The biggest benefit over SQLite is that you get backups that you wouldn’t get otherwise (plus all the other Postgres features).

There’s a guide to updating your settings.py to use Postgres here: https://devcenter.heroku.com/articles/getting-started-with-django#django-settings

Method 2

Heroku has a detailed article explaining "Why is SQLite a bad fit for running on Heroku" https://devcenter.heroku.com/articles/sqlite3

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply