Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modes in environment variable #110

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,20 +116,31 @@ Existing envs take precendence of envs that are loaded later.

The [convention](https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use)
for managing multiple environments (i.e. development, test, production)
is to create an env named `{YOURAPP}_ENV` and load envs in this order:
is to create an env named `APP_ENV` and load envs in this order:

```go
env := os.Getenv("FOO_ENV")
if "" == env {
env = "development"
env := os.Getenv("APP_ENV")
if env == "" {
env = "development"
}

godotenv.Load(".env." + env + ".local")
if "test" != env {
godotenv.Load(".env.local")
}
godotenv.Load(".env." + env)
godotenv.Load() // The Original .env
base := ".env" // .env
local := base + ".local" // .env.local
mode := base + "." + env // .env.[mode]
localM := mode + ".local" // .env.[mode].local

godotenv.Load(localM)
godotenv.Load(mode)
godotenv.Load(local)
godotenv.Load(base)
```

Sometimes you might have env variables that should not be committed into the codebase, especially if your project is hosted in a public repository. In this case you must add the following snippet in your `.gitignore` file:

```gitignore
# local env files
.env.local
.env.*.local
```

If you need to, you can also use `godotenv.Overload()` to defy this convention
Expand Down