"""Shared utils for Altafonte migration.""" import logging from collaborator.api import app from collaborator.models.rds.split_persister import SplitPersister SF_ABO_SCHEMA = "ORCHARD_APP_REPORTING_V2.ALTAFONTE_ABO_ABO4_PRO_MAIN" SF_REMAP_TABLE = "orchard_app_reporting_v2.prod_ddex_ingester_ddex_ingester.upc_remap" SF_ART_REL_SCHEMA = "orchard_app_reporting_v2.art_relations_prod_art_relations" SF_COLLABORATOR_TABLE_PROD = ( "ORCHARD_APP_REPORTING_V2.PROD_OWS_COLLABORATOR_OWS_COLLABORATOR.collaborator" ) SF_COLLABORATOR_TABLE_QA = ( "ORCHARD_APP_REPORTING_V2.QA_OWS_COLLABORATOR_OWS_COLLABORATOR.collaborator" ) def insert_splits_using_persister(splits): """Insert splits using the SplitPersister.""" logging.info(f"Inserting {len(splits)} splits using the SplitPersister") filtered_splits = list(filter(lambda split: split["identifier"], splits)) if len(filtered_splits) != len(splits): logging.warning( f"Found {len(splits) - len(filtered_splits)} splits without identifier" ) logging.warning( "Non identifier splits ():", list(filter(lambda split: not split["identifier"], splits)), ) with app.app_context(): logging.info(f"Inserting {len(filtered_splits)} splits") SplitPersister.create_splits(filtered_splits, None) logging.info(f"{len(filtered_splits)} splits inserted")