How to add the transaction and rollback for the query in the repository layer for the python api

17 Views Asked by At

In my service layer I have one function,

def model_service(data):
    inserted_data=model_repository().new_insert_query()
    update_data=model_repository().new_update_query(data)
    return update_data

In my repository layer I wrote the query to execute,

class model_repository():
    def new_insert_query(data):
        connection=//db connection
        mysql=connection.cursor()
        query=f"insert into school (select * from college)"
        mysql.execute(query)
        mysql.commit()
        
    def new_update_query(data):
        connection=//db connection
        mysql=connection.cursor()
        query=f"update school set name={data}"
        mysql.execute(query)
        mysql.commit()

Here if the error occur in update query the insert query need to get rollback

How can i do this rollback function. Is it possible to handle in repository layer

0

There are 0 best solutions below