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

Labels

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions