Django call_command("makemigrations") странное поведение
python manage.py makemigrations из командной строки и call_command("makemigrations") из приложения django приводит к разному поведению.
 В то время как командная строка является ожидаемым поведением, call_command("makemigrations") удаляет мою модель из миграции и после вызова migrate также из базы данных.
 Когда я использую командную строку и набираю python manage.py makemigrations, я получаю:
Migrations for 'rest_service':
  rest_service\migrations\0009_tour.py
    - Create model Tour
 тогда python manage.py migrate, я получаю: 
Operations to perform:
  Apply all migrations: admin, auth, authtoken, contenttypes, rest_service, sessions, tenants
Running migrations:
  Applying rest_service.0009_tour... OK
Так что все в порядке.
После запуска моего testsuite я вижу мою тестовую базу данных, созданную django. Это выглядит так, как ожидалось, с таблицей для моей модели tour.
Но после запуска этого внутри моих тестов
call_command("makemigrations")
call_command("migrate", database="default")
 модель (tour) была удалена из базы данных.
 Если я снова запущу makemigrations, то получу следующее
Migrations for 'rest_service':
  rest_service\migrations\0011_tour.py
    - Create model Tour
 и после migrate этого 
Operations to perform:
  Apply all migrations: admin, auth, authtoken, contenttypes, rest_service, sessions, tenants
Running migrations:
  Applying rest_service.0010_delete_tour... OK
  Applying rest_service.0011_tour... OK
Если я использую только call_command("migrate", database="default") без makemigrations, это работает, но это не является удовлетворительным решением.
Почему makemigrations внутри приложения django ведет себя иначе, чем в командной строке?
Особенно почему удаляется модель? 
Django Version: 3.2.7
p.s.: если вы спросите себя, зачем мне это нужно. Я создаю базу данных во время выполнения (я знаю, что это плохо, но другого пути нет). Поэтому после создания базы данных мне нужно создать все таблицы.