This example demonstrates the new instance-aware environment variable configuration system for multiple database connections.
- Multiple database connections (primary, secondary, cache)
- Instance-specific environment variable mapping
- Automatic configuration from environment variables
- Consistent naming convention
The example uses the following environment variable pattern:
DB_<INSTANCE>_<FIELD>=<VALUE>For example:
DB_PRIMARY_DRIVER=sqliteDB_PRIMARY_DSN=./primary.dbDB_SECONDARY_DRIVER=sqliteDB_SECONDARY_DSN=./secondary.dbDB_CACHE_DRIVER=sqliteDB_CACHE_DSN=:memory:
go run main.goThe example will:
- Set up environment variables programmatically
- Initialize the modular application with database module
- Demonstrate multiple database connections
- Show how each connection is configured independently
- Clean up resources
- Separation of Concerns: Each database instance has its own environment variables
- No Conflicts: Different database connections don't interfere with each other
- Consistent Naming: Predictable environment variable names
- Easy Configuration: Simple to set up in different environments
- Automatic Mapping: No manual configuration code needed