package dbinit

import (
	"github.com/tidbcloud/internal-portal/core-portal/central/config"
	"github.com/tidbcloud/internal-portal/core-portal/central/db"
	"github.com/tidbcloud/internal-portal/core-portal/central/migrate"
	"gorm.io/gorm"
)

func Initialize(cfg config.MysqlConfig, migration bool) (*gorm.DB, error) {
	handle, err := db.InitializeWithoutMigrate(cfg)
	if err != nil {
		return nil, err
	}
	if migration {
		if err := migrate.RunCentralMigrate(handle); err != nil {
			return nil, err
		}
	}
	return handle, nil
}
