Skip to content
manual

MySQL ​

baseline utilizes MySQL as its primary relational database engine. The framework is designed to work in tandem with Drizzle ORM for schema management and Docker for containerized local development.

Why MySQL? ​

baseline chooses MySQL over other relational databases, such as PostgreSQL, to minimize configuration overhead and maximize developer velocity. While PostgreSQL offers more advanced features and superior performance for complex workloads, these capabilities are outside the scope of the baseline framework. This decision aligns with the baseline Philosophy of reducing "friction" in the development loop.

Simplified Database Hierarchy ​

PostgreSQL introduces an additional layer of nesting through its "schema" concept, which can add complexity to database organization and connection management. MySQL utilizes a flatter, more direct structure, allowing you to move from schema changes to running code with minimal manual configuration.

Streamlined Local Tooling ​

The MySQL ecosystem provides lightweight, highly compatible clients that integrate seamlessly into Docker workflows. For a zero-configuration alternative, baseline includes phpMyAdmin in the default Docker setup.

In contrast, managing PostgreSQL in containerized environments often requires more complex configuration for tools like pgAdmin, which can introduce unnecessary friction during early-stage development.