According to this test, setting PRAGMA synchronous=OFF Sqlite can dramatically improve Sqlite write performance.
I am well aware of the drawbacks, but would still like to try this out.
What would be the best location within a Django project to set this PRAGMA option?
I cannot do it from settings.py - at least not the way the article suggests - because from django.db import connection
would cause a recursive import error.
Add this code in the __init__.py
file of one of your installed app:
from django.db.backends.signals import connection_created
def activate_foreign_keys(sender, connection, **kwargs):
"""Enable integrity constraint with sqlite."""
if connection.vendor == 'sqlite':
cursor = connection.cursor()
cursor.execute('PRAGMA foreign_keys = ON;')
connection_created.connect(activate_foreign_keys)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With