def handle(self, *args, **options): dryrun = options.pop('dryrun') if dryrun: print '*** Running in dryrun mode. Will not save any conversion ***' for doc in Domain.get_all(include_docs=False): domain = doc['key'] migrate_domain(domain, dryrun)
def handle(self, domain, **options): dryrun = options.pop('dryrun') force_convert_columns = options.pop('force_convert_columns') if dryrun: print( '*** Running in dryrun mode. Will not save any conversion ***') migrate_domain(domain, dryrun, force_convert_columns=force_convert_columns)
def test_toggle_turned_on(self, _): self.assertFalse( toggle_enabled(NEW_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN)) migrate_domain(self.domain) self.assertTrue( toggle_enabled(NEW_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN))
def handle(self, **options): dryrun = options.pop('dryrun') limit = options.pop('limit') force_convert_columns = options.pop('force_convert_columns') count = 0 if dryrun: print('*** Running in dryrun mode. Will not save any conversion ***') print('*** Migrating {} exports ***'.format(limit or 'ALL')) skipped_domains = [] for doc in Domain.get_all(include_docs=False): domain = doc['key'] if not use_new_exports(domain): if not force_convert_columns: try: metas = migrate_domain(domain, dryrun=True, force_convert_columns=force_convert_columns) except Exception: print('Migration raised an exception, skipping.') traceback.print_exc() skipped_domains.append(domain) continue has_skipped_tables = any(map(lambda meta: bool(meta.skipped_tables), metas)) has_skipped_columns = any(map(lambda meta: bool(meta.skipped_columns), metas)) is_remote_app_migration = any(map(lambda meta: bool(meta.is_remote_app_migration), metas)) if has_skipped_tables or has_skipped_columns: print('Skipping {} because we would have skipped columns'.format(domain)) skipped_domains.append(domain) continue if is_remote_app_migration: print('Skipping {} because it contains remote apps'.format(domain)) skipped_domains.append(domain) continue if not dryrun: print('Migrating {}'.format(domain)) try: migrate_domain(domain, dryrun=False, force_convert_columns=force_convert_columns) except Exception: print('Migration raised an exception, skipping.') skipped_domains.append(domain) continue else: print('No skipped tables/columns. Not migrating since dryrun is specified') count += 1 if limit is not None and count >= limit: break send_HTML_email( 'Export migration results', '{}@{}'.format('commcarehq-ops+admins', 'dimagi.com'), ''' Skipped domains: {} <br /> Successfully migrated: {} '''.format( ', '.join(skipped_domains), count, ) )
def handle(self, domain, *args, **options): dryrun = options.pop('dryrun') if dryrun: print '*** Running in dryrun mode. Will not save any conversion ***' migrate_domain(domain, dryrun)
def handle(self, *args, **options): dryrun = options.pop('dryrun') limit = options.pop('limit') force_convert_columns = options.pop('force_convert_columns') count = 0 if dryrun: print '*** Running in dryrun mode. Will not save any conversion ***' print '*** Migrating {} exports ***'.format(limit or 'ALL') skipped_domains = [] for doc in Domain.get_all(include_docs=False): domain = doc['key'] if not use_new_exports(domain): try: metas = migrate_domain(domain, dryrun=True, force_convert_columns=force_convert_columns) except Exception: print 'Migration raised an exception, skipping.' traceback.print_exc() skipped_domains.append(domain) continue has_skipped_tables = any(map(lambda meta: bool(meta.skipped_tables), metas)) has_skipped_columns = any(map(lambda meta: bool(meta.skipped_columns), metas)) is_remote_app_migration = any(map(lambda meta: bool(meta.is_remote_app_migration), metas)) if has_skipped_tables or has_skipped_columns: print 'Skipping {} because we would have skipped columns'.format(domain) skipped_domains.append(domain) continue if is_remote_app_migration: print 'Skipping {} because it contains remote apps'.format(domain) skipped_domains.append(domain) continue if not dryrun: print 'Migrating {}'.format(domain) try: migrate_domain(domain, dryrun=False, force_convert_columns=force_convert_columns) except Exception: print 'Migration raised an exception, skipping.' skipped_domains.append(domain) continue else: print 'No skipped tables/columns. Not migrating since dryrun is specified' count += 1 if limit is not None and count >= limit: break send_HTML_email( 'Export migration results', '{}@{}'.format('brudolph', 'dimagi.com'), ''' Skipped domains: {} <br /> Successfully migrated: {} '''.format( ', '.join(skipped_domains), count, ) )
def test_toggle_turned_on(self, _): self.assertTrue(toggle_enabled(OLD_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN)) migrate_domain(self.domain) self.assertFalse(toggle_enabled(OLD_EXPORTS.slug, self.domain, namespace=NAMESPACE_DOMAIN))