Configuration
Di production, semua konfigurasi dimasukkan ke dalam environment server
Di development, semua konfigurasi akan dibaca dari file .env
Konfigurasi yang akan diatur meliputi : port server, database driver, database connection
Sebagai tambahan dibuat konfigurasi penanda apakah aplikasi berjalan di production atau lokal
Buat file .env yang isinya
APP_PORT=0.0.0.0:9000
APP_ENV=local
DB_DRIVER=mysql
DB_SOURCE=root:pass@tcp(localhost:3306)/essentials?parseTime=trueKemudian buat library untuk membaca file .env dan menyalinnya ke environment OS. Buat file libraries/config/config.go
package config
import (
"io/ioutil"
"os"
"strings"
)
//Setup environment from file .env
func Setup(file string) error {
data, err := ioutil.ReadFile(file)
if err != nil {
return err
}
datas := strings.Split(string(data), "\n")
for _, env := range datas {
e := strings.Split(env, "=")
if len(e) >= 2 {
os.Setenv(strings.TrimSpace(e[0]), strings.TrimSpace(strings.Join(e[1:], "=")))
}
}
return nil
}Ubah file main.go agar meload file .env jika environment-nya developement atau lokal, dengan menyisipkan kode
Ubah file main.go agar membaca env port saat membuat parameter server
File main.go akan menjadi seperti ini
Ubah file libraries/database/database.go
Ubah file cmd/main.go menjadi seperti berikut :
Last updated
Was this helpful?