The Game Panel specification

ADR-0007: MySQL and MariaDB are the default database

Context

The engine needs a database component: support for several simultaneous connections, one of them designated the primary connection and used by default, an object-first abstraction of SQL queries, and a schema migration tool. The component has to assume a database by default.

MySQL and MariaDB are the most common choices, and the easiest for people installing the panel to set up.

Decision

The panel assumes MySQL, or a compatible MariaDB, by default. Other driver types, such as PostgreSQL and MSSQL, are supported inside the database component so that one can be added later without a large refactor, but are not exposed.

Alternatives

No alternative to MySQL and MariaDB was weighed. PostgreSQL and MSSQL are driver types to support inside the component later, not alternatives to them.

Consequences

Easier:

Harder:

Constrained:

Sources