DB 삽입위치 변경, 업데이트 로직 개선
This commit is contained in:
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
@@ -14,9 +15,9 @@ const defaultTimeout = 30 * time.Minute
|
||||
func main() {
|
||||
logger := log.New(os.Stdout, "[sync] ", log.LstdFlags)
|
||||
|
||||
dbURL := os.Getenv("DATABASE_URL")
|
||||
if dbURL == "" {
|
||||
logger.Fatal("DATABASE_URL is required")
|
||||
dbURL, err := databaseURL()
|
||||
if err != nil {
|
||||
logger.Fatalf("database config: %v", err)
|
||||
}
|
||||
|
||||
mysqlCfg, err := userprogram.NewMySQLConfigFromEnv()
|
||||
@@ -43,3 +44,24 @@ func main() {
|
||||
logger.Fatalf("sync failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func databaseURL() (string, error) {
|
||||
if url := os.Getenv("DATABASE_URL"); url != "" {
|
||||
return url, nil
|
||||
}
|
||||
user := os.Getenv("POSTGRES_USER")
|
||||
pass := os.Getenv("POSTGRES_PASSWORD")
|
||||
host := os.Getenv("POSTGRES_HOST")
|
||||
if host == "" {
|
||||
host = "localhost"
|
||||
}
|
||||
port := os.Getenv("POSTGRES_PORT")
|
||||
if port == "" {
|
||||
port = "5432"
|
||||
}
|
||||
db := os.Getenv("POSTGRES_DB")
|
||||
if user == "" || pass == "" || db == "" {
|
||||
return "", fmt.Errorf("DATABASE_URL or POSTGRES_{USER,PASSWORD,DB} is required")
|
||||
}
|
||||
return fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=disable", user, pass, host, port, db), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user