Skip to content

pandas dataframe.to_sql on uuid datatype columns #71977

Description

@gbengune

Under which category would you file this issue?

Task SDK

Apache Airflow version

3.3.1

What happened and how to reproduce it?

Using Airflow docker image for data driven solutions.Immediately I upgraded from 3.3.0 to 3.3.1, I got serious bugs. For instance, using postgresql with sqlalchemy create_engine, I realised while inserting data from a dataframe into a postgresql table with a column with data type uuid, the columns of the dataset coming from the "select" statement of the dataframe are all being handles as strings/text, but in postgresql, you can only explicitly insert a uuid element in a uuid column!So trying to insert the string while casting it on the fly to uuid is not working in Airflow 3.3.1. Basically in all the dags in which I made use of sqlalchemy create_engine in defining the postgresql connection hook failed immediately the code got to the point where I made use of dataframe.to_sql. We would surely have to downgrade back to Airflow 3.3.0 until this bug is solved. Thank you.

What you think should happen instead?

I think there is a major issue with the pandas's dataframe.to_sql method in Airflow3.3.1 and the datatypes of table columns should remain thesame as the source dataframe. Using string casts on the fly is not going to help while working with special data types.

Operating System

linus ubuntu noble

Deployment

None

Apache Airflow Provider(s)

No response

Versions of Apache Airflow Providers

3.3.1

Official Helm Chart version

Not Applicable

Kubernetes Version

No response

Helm Chart configuration

No response

Docker Image customizations

Not applicable

Anything else?

No response

Are you willing to submit PR?

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:bugThis is a clearly a bugneeds-triagelabel for new issues that we didn't triage yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions