Команда flush

Команда flush применяется для удаления всех данных из базы данных Django. Она удаляет все записи из всех таблиц, сбрасывает счетчики автоинкремента для первичных ключей и не затрагивает структуру таблиц. Это полезно для тестирования или когда нужно быстро очистить базу данных, оставив только схему. Команда принимает ряд параметров для настройки процесса очистки.

Синтаксис

pythonpython manage.py flush [options]

Основные параметры

Команда имеет несколько важных параметров:

<--noinput - отключает запрос подтверждения перед очисткой базы данных.

<--database - указывает базу данных для очистки. По умолчанию используется 'default'.

<--verbosity - уровень детализации вывода информации (0 - минимум, 1 - нормально, 2 - подробно, 3 - очень подробно).

Пример

Базовое использование команды для очистки базы данных:

pythonpython manage.py flush

Результат выполнения команды:

python"WARNING: This command will delete all data from your database."
"Are you sure you want to do this?"
"Type 'yes' to continue, or 'no' to cancel:"

Пример

Очистка базы данных без запроса подтверждения:

pythonpython manage.py flush --noinput

Результат выполнения команды:

python"Database flushed successfully"

Пример

Очистка конкретной базы данных с детальным выводом:

pythonpython manage.py flush --database=test_db --verbosity=2

Результат выполнения команды:

python"Flushing database 'test_db'"
"Deleting data from tables:"
" - myapp_article"
" - myapp_category"
" - auth_user"
" - auth_group"
"Resetting sequences"
"Database flushed successfully"

Пример

Использование команды вместе с фикстурами для повторного заполнения базы:

pythonpython manage.py flush --noinput && python manage.py loaddata initial_data.json

Результат выполнения команды:

python"Database flushed successfully"
"Installed 42 object(s) from 1 fixture(s)"

Смотрите также

  • команда loaddata,
    которая загружает данные из фикстур в базу данных
  • команда dumpdata,
    которая создает дамп данных из базы данных
  • команда migrate,
    которая применяет миграции и создает структуру базы
  • команда sqlmigrate,
    которая показывает SQL для миграции без применения