Files
wakapi/migrations/shared.go
2024-08-20 05:59:17 +07:00

29 lines
670 B
Go

package migrations
import (
"github.com/muety/wakapi/models"
"github.com/muety/wakapi/utils"
"gorm.io/gorm"
"log/slog"
)
func hasRun(name string, db *gorm.DB) bool {
condition := utils.QuoteSql(db, "%s = ?", "key")
lookupResult := db.Where(condition, name).First(&models.KeyStringValue{})
if lookupResult.Error == nil && lookupResult.RowsAffected > 0 {
slog.Info("no need to migrate", "name", name)
return true
}
return false
}
func setHasRun(name string, db *gorm.DB) {
if err := db.Create(&models.KeyStringValue{
Key: name,
Value: "done",
}).Error; err != nil {
slog.Error("failed to mark migration as run", "name", name, "error", err)
}
}