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