Skip to content

4.18.0

Choose a tag to compare

@HosseinNejatiJavaremi HosseinNejatiJavaremi released this 02 Aug 15:38
· 42 commits to master since this release

Added

Adapters - MySQL

  • MySQL SQLAlchemy Adapter - Added a full MySQL adapter package with sync and async session managers, session manager registry, and concrete adapters following the existing PostgreSQL/StarRocks patterns.
    • Sync driver: mysql+pymysql via the mysql extra
    • Async driver: mysql+asyncmy via asyncmy2 and the mysql-async extra
    • Patches MySQLTypeCompiler.visit_UUID to map PostgreSQL UUID columns to VARCHAR(36) for shared entity models
  • MySQL Configuration - Added MySQLSQLAlchemyConfig and MYSQL_SQLALCHEMY on BaseConfig with defaults DRIVER_NAME=mysql+pymysql and PORT=3306.
  • Atomic Transaction Decorators - Added mysql_sqlalchemy_atomic_decorator and async_mysql_sqlalchemy_atomic_decorator, registered in ATOMIC_BLOCK_CONFIGS and the lazy decorator exports.

Tests - MySQL

  • MySQL Test Container - Added MySQLTestContainer (mysql:8.4.11) with @needs-mysql tag mapping and .env.test / .env.example configuration.
  • Atomic Transaction Coverage - Wired mysql into all atomic_transactions scenario outlines (sync and async) alongside PostgreSQL and SQLite.

Docs - MySQL

  • Adapter Documentation - Added MySQL tutorial and API reference pages, mkdocs nav entries, installation extras, testing tags, and adapter index rows marked 🟢 Stable.

Changed

Tests - Atomic Transactions

  • Cross-Database Determinism - Gave test entity String columns explicit lengths for MySQL VARCHAR requirements, and ordered related-entity queries by name so assertions do not depend on insert order.

Dependencies

  • Added optional extras mysql (pymysql) and mysql-async (asyncmy2).
  • Extended the testcontainers extra with mysql support.