![]() |
|
You can commit a .env.default that points to test_db_main . Then, in your CI script, you generate a .env.default.local dynamically:
// Load the default file (committed) if (file_exists($root.'.env.default')) Dotenv::createMutable($root, '.env.default')->load(); .env.default.local
Enter the unsung hero of configuration management: . You can commit a
Your loader should merge these lists, not replace them. This allows local developers to add to lists without destroying defaults. The .env.default.local pattern is not a framework feature; it is a discipline . It requires you to be intentional about your configuration archetypes. This allows local developers to add to lists
Your future self (and your junior developers) will thank you.
# .env.default (committed to Git) APP_NAME=MyAwesomeApp APP_ENV=production APP_DEBUG=false DB_HOST=localhost DB_PORT=5432 CACHE_DRIVER=file SESSION_DRIVER=file This file is ignored by Git (via .gitignore ). It contains only the variables a specific developer needs to override on their own machine. It is sparse. It is safe.
| Â |