Files
backend/utils/initDB.go
Yi-Ting Shih 0fc8f1f08c
All checks were successful
Go test / run-go-vet (push) Successful in 5s
Go test / run-go-test (push) Successful in 22s
Go test / cleanup-go-test (push) Successful in 4s
Go test / check-swagger-up-to-date (push) Successful in 9s
Go test / release-image (push) Successful in 3m22s
Fix: broken ci and tests
2025-12-13 02:45:33 +08:00

44 lines
797 B
Go

package utils
import (
"context"
"gitea.konchin.com/go2025/backend/models"
"github.com/spf13/viper"
"github.com/uptrace/bun"
)
func InitDB(ctx context.Context, db *bun.DB) error {
db.RegisterModel(
(*models.AliasImage)(nil),
(*models.Alias)(nil),
(*models.Image)(nil),
(*models.Session)(nil),
)
if viper.GetBool("reset") {
return db.ResetModel(ctx,
(*models.AliasImage)(nil),
(*models.Alias)(nil),
(*models.Image)(nil),
(*models.Session)(nil),
)
} else {
modls := []any{
(*models.AliasImage)(nil),
(*models.Alias)(nil),
(*models.Image)(nil),
(*models.Session)(nil),
}
for _, model := range modls {
_, err := db.NewCreateTable().
Model(model).
IfNotExists().
Exec(ctx)
if err != nil {
return err
}
}
return nil
}
}