def handle_noargs(self, **options): from django.conf import settings from django.db import models from django.core.management.sql import emit_post_sync_signal from django.db.utils import DEFAULT_DB_ALIAS from django.core.management import call_command ignore_reset = options.get('ignore_reset', False) rebuild_haystack = options.get('rebuild_haystack', False) db = options.get('database', DEFAULT_DB_ALIAS) database_config = settings.DATABASES[db] if not ignore_reset: reset_schema(database_config) # init db schema call_command('syncdb', interactive=False) # Emit the post sync signal. This allows individual # applications to respond as if the database had been # sync'd from scratch. emit_post_sync_signal(models.get_models(), 0, 0, db) # get all fixtures fixtures_blocks = self._find_fixtures(settings.PROJECT_ROOT) for fixtures in fixtures_blocks: sys.stdout.write("Load fixtures: %s\n" % " ".join(fixtures)) call_command('loaddata', *fixtures) if rebuild_haystack: call_command('rebuild_index', interactive=False)
def handle_noargs(self, **options): from django.conf import settings from django.db import models from django.db.utils import DEFAULT_DB_ALIAS from django.core.management import call_command ignore_reset = options.get('ignore_reset', False) rebuild_haystack = options.get('rebuild_haystack', False) db = options.get('database', DEFAULT_DB_ALIAS) database_config = settings.DATABASES[db] if not ignore_reset: reset_schema(database_config) # init db schema # the migrate-argument comes from south, if south is not used as app its silently ignored call_command('syncdb', interactive=False, migrate_all=True) # Emit the post sync signal. This allows individual # applications to respond as if the database had been # sync'd from scratch. #emit_post_sync_signal(models.get_models(), 0, 0, db) # get all fixtures jf = JsonFixtures(settings.PROJECT_ROOT) fixtures = jf.get_sorted() if len(fixtures) > 0: sys.stdout.write("Load fixtures: %s\n" % " ".join(fixtures)) call_command('loaddata', *fixtures) if rebuild_haystack: call_command('rebuild_index', interactive=False)
def handle_noargs(self, **options): from django.conf import settings from django.db import models from django.core.management.sql import emit_post_sync_signal from django.db.utils import DEFAULT_DB_ALIAS from django.core.management import call_command ignore_reset = options.get('ignore_reset') if ignore_reset is None: ignore_reset = self.ignore_reset_default db = options.get('database', DEFAULT_DB_ALIAS) database_config = settings.DATABASES[db] if not ignore_reset: reset_schema(database_config) # hack to avoid using south klass = load_command_class('django.core', 'syncdb') args = {} defaults = {} options['interactive'] = False for opt in klass.option_list: if opt.default is NO_DEFAULT: defaults[opt.dest] = None else: defaults[opt.dest] = opt.default defaults.update(options) klass.execute(*args, **defaults) # Emit the post sync signal. This allows individual # applications to respond as if the database had been # sync'd from scratch. emit_post_sync_signal(models.get_models(), 0, 0, db) call_command('migrate', fake=True) self.log("load Random Dummy data ...") try: user = get_user_model().objects.create_superuser('admin', '*****@*****.**', DUMMY_PASSWORD) user.first_name, user.last_name = name_factory.get_full_name() user.save() self.log("superuser: admin") except Exception, e: self.log("WARNING: could not create superuser: %s" % str(e))
def handle_noargs(self, **options): from django.conf import settings from django.db.utils import DEFAULT_DB_ALIAS self.keep_mails = options.get('keep_mails', False) local_path = options.get('dump_path', None) db = options.get('database', DEFAULT_DB_ALIAS) database_config = settings.DATABASES[db] from djangojames.db.utils import reset_schema, get_dumpdb_name, restore_db start_time = time.time() if not local_path: local_path = os.path.join(LOCAL_PATH, get_dumpdb_name()) print 'Using dumpfile at %s' % local_path create_db_if_not_exists(database_config) reset_schema(database_config) restore_db(database_config, local_path) print 'Finished in %d seconds' % (time.time() - start_time) start_time = time.time() if self.keep_mails: warning = '@ ATTENTION: THE EMAIL ADDRESSES WILL NOT BE CHANGED! DO NOT SEND ANY MAIL FROM THE PLATFORM !!! @' print '' print '@'*len(warning) print warning print '@'*len(warning) print '' else: from django.core.management import call_command from django.contrib.auth.models import User print 'Set fake emails <name>@%s-<domain> and fake passwords "%s"' % (self.domain_extension, self.fake_pw) call_command('fooemails', domain_extension=self.domain_extension) user = User() user.set_password(self.fake_pw) count = User.objects.all().update(password=user.password) print 'Reset %d passwords' % count print 'Finished in %d seconds' % (time.time() - start_time)