def update_tr(session: SQLAlchemySession, transformation_revision: TransformationRevision) -> None: try: db_model = transformation_revision.to_orm_model() session.execute( update(TransformationRevisionDBModel).where( TransformationRevisionDBModel.id == db_model.id).values( revision_group_id=db_model.revision_group_id, name=db_model.name, description=db_model.description, category=db_model.category, version_tag=db_model.version_tag, state=db_model.state, type=db_model.type, documentation=db_model.documentation, workflow_content=db_model.workflow_content, component_code=db_model.component_code, io_interface=db_model.io_interface, test_wiring=db_model.test_wiring, released_timestamp=db_model.released_timestamp, disabled_timestamp=db_model.disabled_timestamp, )) except IntegrityError as e: msg = ( f"Integrity Error while trying to update " f"transformation revision with id {transformation_revision.id}.\n" f"Error was:\n{str(e)}") logger.error(msg) raise DBIntegrityError(msg) from e
def add_tr(session: SQLAlchemySession, transformation_revision: TransformationRevision) -> None: try: db_model = transformation_revision.to_orm_model() session.add(db_model) except IntegrityError as e: msg = ( f"Integrity Error while trying to store transformation revision " f"with id {transformation_revision.id}. Error was:\n{str(e)}") logger.error(msg) raise DBIntegrityError(msg) from e