Browse Source
Uvede tedy databázi do naprosto čistého stavu, bez tabulek ap. Není závislá na databázi (narozdíl od 'rm db-local.sqlite3') a nepotřebuje práva vytvářet nové databáze (narozdíl od 'DROP DATABASE' nebo './manage.py reset_db' nad Postgresem) Jinak je to prostě for-cyklus přes INSTALLED_APPS.export_seznamu_prednasek
Pavel "LEdoian" Turinsky
5 years ago
1 changed files with 20 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||
from mamweb.settings import INSTALLED_APPS |
|||
from django.core.management.base import BaseCommand, CommandError |
|||
from django.core.management import call_command |
|||
|
|||
class Command(BaseCommand): |
|||
help = "Odmigruje všechny moduly (i.e. smaže všechny tabulky, ale databázi nechá)" |
|||
|
|||
def add_arguments(self, parser): |
|||
# TODO: --force (makat a neblábolit) |
|||
pass |
|||
def handle(self, *args, **options): |
|||
# TODO: zeptat se |
|||
for app in INSTALLED_APPS: |
|||
app = app.split('.')[-1] |
|||
try: |
|||
call_command('migrate', app, 'zero') |
|||
except CommandError: |
|||
# app nemá migrace (aspoň typicky) |
|||
pass |
|||
call_command('showmigrations') |
Loading…
Reference in new issue