update kontor-echo
This commit is contained in:
@@ -87,6 +87,7 @@ type ServerConfiguration struct {
|
||||
Gin struct {
|
||||
Mode string `mapstructure:"mode" validate:"required"`
|
||||
} `mapstructure:"gin"`
|
||||
ApiSecret []byte `mapstructure:"api_secret"`
|
||||
}
|
||||
|
||||
func InitCliConfig() {
|
||||
|
||||
@@ -1,37 +1,31 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect/pgdialect"
|
||||
"github.com/uptrace/bun/dialect/sqlitedialect"
|
||||
"github.com/uptrace/bun/driver/pgdriver"
|
||||
"github.com/uptrace/bun/driver/sqliteshim"
|
||||
)
|
||||
|
||||
func NewDB(db Database) (*gorm.DB, error) {
|
||||
func NewDB(db Database) (*bun.DB, error) {
|
||||
db_type := db.Type
|
||||
slog.Info("using database", "type", db_type)
|
||||
|
||||
switch db_type {
|
||||
case "postgres":
|
||||
dsn := fmt.Sprintf(
|
||||
"host=%s user=%s password=%s dbname=%s port=%d sslmode=disable",
|
||||
db.Host,
|
||||
db.User,
|
||||
db.Password,
|
||||
db.Name,
|
||||
db.Port,
|
||||
)
|
||||
|
||||
return gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Info),
|
||||
})
|
||||
dsn := fmt.Sprintf("postgres://%s:%s@%s:%d/%s", db.User, db.Password, db.Host, db.Port, db.Name)
|
||||
sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn)))
|
||||
db := bun.NewDB(sqldb, pgdialect.New())
|
||||
return db, nil
|
||||
case "sqlite":
|
||||
return gorm.Open(sqlite.Open(db.Path), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Info),
|
||||
})
|
||||
sqldb, _ := sql.Open(sqliteshim.ShimName, "file::memory:?cache=shared")
|
||||
db := bun.NewDB(sqldb, sqlitedialect.New())
|
||||
return db, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown db.type=%s", db_type)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user