import os import shutil import wagtail_factories from django.conf import settings from django.core import management from django.core.management import BaseCommand from django.db import connection from wagtail.core.models import Page from core.factories import UserFactory data = [ ] class Command(BaseCommand): def ensure_clean_dir(self, folder): path = os.path.join(settings.MEDIA_ROOT, folder) if os.path.exists(path): shutil.rmtree(path) if not os.path.exists(path): os.makedirs(path) def handle(self, *args, **options): with connection.cursor() as cursor: cursor.execute("DROP SCHEMA IF EXISTS public CASCADE;") cursor.execute( "CREATE SCHEMA IF NOT EXISTS public AUTHORIZATION {};".format(settings.DATABASES['default']['USER'])) cursor.execute("GRANT ALL ON SCHEMA public TO postgres;") management.call_command('migrate', verbosity=0, interactive=False) self.ensure_clean_dir('images') self.ensure_clean_dir('original_images') self.ensure_clean_dir('documents') site = wagtail_factories.SiteFactory.create(is_default_site=True) Page.objects.filter(title='Root').delete() u = UserFactory( username='test', is_staff=True, is_superuser=True ) for i in range(0, 4): UserFactory(username='user{}'.format(i))