Stores: Design Principles

Understand the core design principles behind Dracory stores and how to structure them for scalability and maintainability.

Store Design Principles

Private Types & Public Interfaces

All entity structs are private, while public interfaces define the contract for interaction. This enforces encapsulation and enables easy testing and extension.

DataObject Embedding

Entities embed a DataObject for generic storage, hydration, and serialization, reducing boilerplate and improving consistency.

SQL Schema & Portability

Stores use SQL builders like Goqu to support multiple databases (SQLite, MySQL, PostgreSQL) and provide an AutoMigrate method for schema management.

Menu