source_pr = PackageRegistry(es_instance=es, index_name=source_index) backup_pr = PackageRegistry(es_instance=es, index_name=backup_index) reindex(source_pr, backup_pr) if es.indices.exists_alias(source_index, 'packages'): es.indices.delete_alias(source_index, 'packages') target_pr = PackageRegistry(es_instance=es, index_name=target_index) reindex(source_pr, target_pr) es.indices.delete(source_index) es.indices.put_alias(target_index, 'packages') # Find orphan DB tables used_tables = set() for pkg_id in target_pr.list_models(): rec = target_pr.get_raw(pkg_id) fact_table = rec[3].get('fact_table') # model if fact_table is not None: used_tables.add(fact_table) engine = create_engine(os.environ['OS_CONDUCTOR_ENGINE']) meta = MetaData() meta.reflect(bind=engine, only=lambda t, _: t.startswith('fdp')) for table in reversed(meta.sorted_tables): if table in used_tables: logging.info('SKIPPING %s', table) else: logging.info('NOT DELETING %s', table)
backup_pr = PackageRegistry(es_instance=es, index_name=backup_index) reindex(source_pr, backup_pr) if es.indices.exists_alias(source_index, 'packages'): es.indices.delete_alias(source_index, 'packages') target_pr = PackageRegistry(es_instance=es, index_name=target_index) reindex(source_pr, target_pr) es.indices.delete(source_index) es.indices.put_alias(target_index, 'packages') # Find orphan DB tables used_tables = set() for pkg_id in target_pr.list_models(): rec = target_pr.get_raw(pkg_id) fact_table = rec[3].get('fact_table') # model if fact_table is not None: used_tables.add(fact_table) engine = create_engine(os.environ['OS_CONDUCTOR_ENGINE']) meta = MetaData() meta.reflect(bind=engine, only=lambda t, _: t.startswith('fdp')) for table in reversed(meta.sorted_tables): if table in used_tables: logging.info('SKIPPING %s', table) else: logging.info('NOT DELETING %s', table)