Trace back everything (tested)
Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
11
data/data.go
11
data/data.go
@@ -1,6 +1,7 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"context"
|
||||
"nixcn-cms/data/drivers"
|
||||
"os"
|
||||
|
||||
@@ -16,7 +17,7 @@ var Database *gorm.DB
|
||||
var Redis redis.UniversalClient
|
||||
var MeiliSearch meilisearch.ServiceManager
|
||||
|
||||
func Init() {
|
||||
func Init(ctx context.Context) {
|
||||
// Init database
|
||||
dbType := viper.GetString("database.type")
|
||||
exDSN := drivers.ExternalDSN{
|
||||
@@ -27,21 +28,21 @@ func Init() {
|
||||
}
|
||||
|
||||
if dbType != "postgres" {
|
||||
slog.Error("[Database] Only support postgras db!")
|
||||
slog.ErrorContext(ctx, "[Database] Only support postgras db!")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Conect to db
|
||||
db, err := drivers.Postgres(exDSN)
|
||||
if err != nil {
|
||||
slog.Error("[Database] Error connecting to db!", "err", err)
|
||||
slog.ErrorContext(ctx, "[Database] Error connecting to db!", "err", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Auto migrate
|
||||
err = db.AutoMigrate(&User{}, &Event{}, &Attendance{}, &Client{})
|
||||
if err != nil {
|
||||
slog.Error("[Database] Error migrating database!", "err", err)
|
||||
slog.ErrorContext(ctx, "[Database] Error migrating database!", "err", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
Database = db
|
||||
@@ -57,7 +58,7 @@ func Init() {
|
||||
}
|
||||
rdb, err := drivers.Redis(rDSN)
|
||||
if err != nil {
|
||||
slog.Error("[Redis] Error connecting to Redis!", "err", err)
|
||||
slog.ErrorContext(ctx, "[Redis] Error connecting to Redis!", "err", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
Redis = rdb
|
||||
|
||||
Reference in New Issue
Block a user