dolthub / dolt

Dolt – Git for Data
Apache License 2.0
17.87k stars 508 forks source link

`INSERT IGNORE INTO` unsupported (Django 3.2 many-to-many) #1562

Closed louisrigot closed 3 years ago

louisrigot commented 3 years ago

When trying to save a many-to-many relation, Django 3.2 emits an INSERT IGNORE INTO statement that is unsupported by Dolt.

VinaiRachakonda commented 3 years ago

Thank you for letting us know @louisrigot! We'll jot this down and get back to you ASAP

louisrigot commented 3 years ago

A temporary workaround if subclassing the built-in database backends (not thoroughly tested):

from django.db.backends.mysql import base, operations

class DatabaseOperations(operations.DatabaseOperations):
    def insert_statement(self, ignore_conflicts=False):
        return super().insert_statement(ignore_conflicts=False)

class DatabaseWrapper(base.DatabaseWrapper):
    ops_class = DatabaseOperations
VinaiRachakonda commented 3 years ago

INSERT IGNORE INTO is now in master