Команда flush
Команда flush применяется для удаления всех данных из базы данных Django. Она удаляет все записи из всех таблиц, сбрасывает счетчики автоинкремента для первичных ключей и не затрагивает структуру таблиц. Это полезно для тестирования или когда нужно быстро очистить базу данных, оставив только схему. Команда принимает ряд параметров для настройки процесса очистки.
Синтаксис
python manage.py flush [options]
Основные параметры
Команда имеет несколько важных параметров:
<--noinput - отключает запрос подтверждения перед очисткой базы данных.
<--database - указывает базу данных для очистки. По умолчанию используется 'default'.
<--verbosity - уровень детализации вывода информации (0 - минимум, 1 - нормально, 2 - подробно, 3 - очень подробно).
Пример
Базовое использование команды для очистки базы данных:
python manage.py flush
Результат выполнения команды:
"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:"
Пример
Очистка базы данных без запроса подтверждения:
python manage.py flush --noinput
Результат выполнения команды:
"Database flushed successfully"
Пример
Очистка конкретной базы данных с детальным выводом:
python manage.py flush --database=test_db --verbosity=2
Результат выполнения команды:
"Flushing database 'test_db'"
"Deleting data from tables:"
" - myapp_article"
" - myapp_category"
" - auth_user"
" - auth_group"
"Resetting sequences"
"Database flushed successfully"
Пример
Использование команды вместе с фикстурами для повторного заполнения базы:
python manage.py flush --noinput && python manage.py loaddata initial_data.json
Результат выполнения команды:
"Database flushed successfully"
"Installed 42 object(s) from 1 fixture(s)"
Смотрите также
-
команда
loaddata,
которая загружает данные из фикстур в базу данных -
команда
dumpdata,
которая создает дамп данных из базы данных -
команда
migrate,
которая применяет миграции и создает структуру базы -
команда
sqlmigrate,
которая показывает SQL для миграции без применения