package models

import (
	"github.com/pingcap/dbaas/central/config"
	"github.com/pingcap/dbaas/central/dbinit"
	"github.com/pingcap/dbaas/pkg/docker_db"
	"github.com/pingcap/log"
	panicIf "github.com/tidbcloud/pkgv2/panicif"
	"go.uber.org/zap"
)

func InitMySQL(isUnitTest bool) {
	if isUnitTest {
		log.Info("init db in unittest mode")
		_, err := docker_db.TryInitCentralDB(true)
		if err != nil {
			panicIf.Error(err)
		}
	} else {
		mysqlConfig := config.Global().MysqlConfig
		log.Info("Initialize MySQL connection", zap.String("user", mysqlConfig.User))
		_, err := dbinit.Initialize(mysqlConfig, false)
		panicIf.Error(err)
	}
}
