SQLite, похоже, игнорирует параметр db_table при выполнении тестов на MacOS, но отлично работает на Ubuntu

Итак, проблема в том, что когда я запускаю тесты Django на MacOS, я получаю следующие ошибки:

Traceback (most recent call last):
  ...
django.db.utils.OperationalError: no such table: main.estimates_estimate

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  ...
    raise CommandError(
django.core.management.base.CommandError: Database file:memorydb_default?mode=memory&cache=shared couldn't be flushed. Possible reasons:
  * The database isn't running or isn't configured correctly.
  * At least one of the expected database tables doesn't exist.
  * The SQL was invalid.
Hint: Look at the output of 'django-admin sqlflush'. That's the SQL this command wasn't able to run

Однако он проходит, если я меняю базу данных на MySQL. Также он проходит на Ubuntu 20.04 с SQLite в качестве бэкенда БД.

Просто кажется, что db_table опция модели почему-то игнорируется.

class Estimate(models.Model):
    class Meta:
        db_table = "estimates"

На Ubuntu db.sqlite3 имеет estimates таблицу после завершения выполнения тестов, но на MacOS имеет estimates_estimate.

Что я пробовал

Я искал любые возможные отличия sqlite на Mac/Linux, но не смог найти ничего связанного. Также я пытался удалить __pycache__ dirs и разные версии Django (2.2 и 3.2). Я создал фиктивное приложение с такой же структурой файлов и схемой базы данных, но не смог воспроизвести проблему.

Я бы предпочел не погружаться в причины, по которым я хочу запускать тест с SQLite, если у меня настроен MySQL.

Вернуться на верх