Migration from crate[sqlalchemy] to sqlalchemy-cratedb

About

In June 2024, code from the package crate[sqlalchemy] has been transferred to the package sqlalchemy-cratedb. For 80% of all use cases, this will be a drop-in replacement with no noticeable changes. For the remaining 20%, the required code changes will not be too significant.

Changes

Packaging

  • If you are an SQLAlchemy user, the new designated package to install is sqlalchemy-cratedb.
  • When installing crate==1.0.0, the DB API driver, it will no longer include the SQLAlchemy dialect.

API

  • If you use CrateDB’s special data types like OBJECT, ARRAY, FLOAT_VECTOR, GEO_POINT, or GEO_SHAPE, and imported the relevant symbols from crate.client.sqlalchemy, you will need to import the same symbols from sqlalchemy_cratedb from now on.

Details

In order to learn about more details of code migration, please follow the instructions on the relevant documentation section.

See also: [2024] Migration to `sqlalchemy-cratedb` · Issue #620 · crate/crate-python · GitHub

Timeline

  • June 2024: Released sqlalchemy-cratedb-0.36.0, inheriting the versioning of the previous composite driver package, and crate-1.0.0.dev0 complementing it.
  • October 2024: Planning to release crate 1.0.0, concluding the switchover by effectively removing SQLAlchemy support. Users need to take action by installing the sqlalchemy-cratedb package instead.

We conducted a few successful validations using the pre-release package 1.0.0.dev2. That means its 1.0.0 GA release is around the corner.

[2024] Releasing version 1.0.0 · Issue #668 · crate/crate-python · GitHub