Skip to content

Feature Request: Optional DB storage for user/chan state (SQLite first; MariaDB/PostgreSQL next; Redis optional) #1830

@DiamantTh

Description

@DiamantTh

Hey,

Add an optional storage backend so Eggdrop can load/save user & channel state using a database.
Flatfiles stay default. Start with SQLite (embedded, no external service). Later add MariaDB/PostgreSQL. Redis is optional (cache only).

Why:

Reliable saves (safe, all-or-nothing).

Query/backup/audit without parsing flatfiles.

Low risk: wrap current load/save behind a small provider; no TCL command changes.

MVP:

Providers: flatfile (existing, default) + sqlite.

Config switch, one-shot migration from flatfiles, easy rollback via config.

No change to TCL binds/commands for callers.

Details and a Tcl example config are attached in a separate Markdown file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions