Place to set Sqlite PRAGMA option in Django project

后端 未结 2 554
小蘑菇
小蘑菇 2021-02-04 11:45

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 t

2条回答
  •  囚心锁ツ
    2021-02-04 12:01

    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)
    

提交回复
热议问题