Skip to content

Add MySQL/MariaDB support (@fedify/mysql) #587

@dahlia

Description

@dahlia

Summary

Add a new @fedify/mysql package providing KvStore and MessageQueue implementations backed by MySQL or MariaDB.

Motivation

Fedify currently supports PostgreSQL, Redis, SQLite, and Deno KV as storage backends. MySQL and MariaDB remain widely used in production environments, and developers already running these databases should be able to use Fedify without introducing additional infrastructure.

Notes

  • The package will use mysql2 as the underlying driver.
  • MySQL 8.0+ and MariaDB 10.6+ will be the minimum supported versions, as SELECT ... FOR UPDATE SKIP LOCKED is required for the MysqlMessageQueue implementation.
  • Unlike PostgresMessageQueue, which uses LISTEN/NOTIFY for real-time message delivery, MysqlMessageQueue will rely on polling, as MySQL and MariaDB have no equivalent mechanism.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions