Files
drf-rack/net/xeaf/rack/management/commands/rack_test_database.py

45 lines
1.4 KiB
Python

# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса для команды rack_test_database
"""
from django.core.management import call_command
from django.core.management.base import no_translations
from net.xeaf.rack.core import CoreCommand
from net.xeaf.rack.management.userstory import AccountTestData
from net.xeaf.rack.management.userstory import SessionTestData
class Command(CoreCommand):
"""
Инициализирует базу данных для тестирования
"""
@no_translations
def handle(self, *args, **options):
"""
Обрабатывает команду инициализации БД
:params args: Позиционные аргументы
:params options: Дополнительные параметры
"""
if self.is_debug_or_test():
# Готовимся
self._clear_database()
call_command("migrate")
# Инициализируем данные
AccountTestData.init_accounts()
SessionTestData.init_sessions()
else:
self.stdout.write(self.style.ERROR("The rack_test_database command can only be executed in debug or testing mode."))