@resolid/app-db package provides database integration for Resolid applications through Drizzle ORM. It offers a structured approach to database connections, repository patterns, and type-safe queries.
Installation
Core Concepts
DatabaseService
TheDatabaseService class is an abstract base class for creating database service implementations. It manages database connections and provides a unified interface for database operations.
Source: See packages/app-db/src/service/index.ts:12
BaseRepository
TheBaseRepository class provides a foundation for implementing the repository pattern with database access.
Source: See packages/app-db/src/repository/index.ts:4
Creating a Database Service
ExtendDatabaseService to create a custom database service:
Database Configuration
Configure your database service with connection details:packages/app-db/src/service/index.ts:5):
Implementing Repositories
Create repositories to encapsulate database operations:Using with Dependency Injection
Integrate database services and repositories with the DI container:Multiple Database Connections
Work with multiple database connections:Schema Definition
Define your database schema using Drizzle:Common Patterns
Transaction Support
Implement transactions using Drizzle’s transaction API:Query Building
Build complex queries with Drizzle’s query builder:Pagination
Implement pagination for large datasets:Soft Deletes
Implement soft delete functionality:Relationships
Query related data efficiently:Resource Cleanup
Always clean up database connections when shutting down:API Reference
DatabaseService Class
See source atpackages/app-db/src/service/index.ts:12
BaseRepository Class
See source atpackages/app-db/src/repository/index.ts:4