package main

import (
	"fmt"

	"gorm.io/driver/sqlite"
	"gorm.io/gorm"
)

var DB *gorm.DB

func InitDB(cfg *Config) error {
	var dsn string
	if cfg.Database.Driver == "sqlite" {
		dsn = cfg.Database.Path
	}

	var err error
	DB, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{})
	if err != nil {
		return fmt.Errorf("连接数据库失败: %w", err)
	}

	//自动迁移
	err = DB.AutoMigrate(&User{})
	if err != nil {
		return fmt.Errorf("自动迁移数据库失败: %w", err)
	}

	Logger.Info("数据库初始化成功")
	return nil
}
