Skip to content
This repository was archived by the owner on Aug 19, 2025. It is now read-only.
This repository was archived by the owner on Aug 19, 2025. It is now read-only.

Transaction rollback seems to be unsuccessful #425

@jakehu

Description

@jakehu

Below is my code

async with conn.transaction(force_rollback=True):
    transaction = await conn.transaction()
    try:
        query = user.insert().values(**row["data"])
        await conn.execute(query=query)

        query_sms = (
            user_sms.update()
            .where(user_sms.c.ccode == "code")
            .values(status=1)
        )
        await conn.execute(query=query_sms)
    except Exception as e:
        print(e)
        print("This is the error")
        await transaction.rollback()
        return False
    else:
        await transaction.commit()
        return True

I estimate that user_sms.c.code is written as user_sms.c.ccode

As a result, user.insert has been executed, but user_sms.update has not been executed

The print function outputs, but the single database does not roll back

print output:

ccode
This is the error

depend:
databases==0.5.3
SQLAlchemy==1.4.25

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions