cup/run-auto-migrations.go

39 lines
1 KiB
Go
Raw Normal View History

2024-09-12 19:15:38 -04:00
// Copyright 2023 Harran Ali <harran.m@gmail.com>. All rights reserved.
// Copyright (c) 2024 Zeni Kim <zenik@smarteching.com>
// Use of this source code is governed by MIT-style
// license that can be found in the LICENSE file.
package main
import (
2024-12-16 20:05:37 -05:00
"errors"
2024-09-12 19:15:38 -04:00
"git.smarteching.com/goffee/core"
"git.smarteching.com/goffee/cup/models"
2024-12-16 20:05:37 -05:00
"git.smarteching.com/goffee/cup/utils"
"gorm.io/gorm"
2024-09-12 19:15:38 -04:00
)
func RunAutoMigrations() {
db := core.ResolveGorm()
//##############################
//# Models auto migration #####
//##############################
// Add auto migrations for your models here...
2024-12-14 22:38:06 -05:00
db.AutoMigrate(&models.UserRole{})
db.AutoMigrate(&models.Role{})
db.AutoMigrate(&models.RolePermission{})
db.AutoMigrate(&models.Permission{})
2024-12-16 20:05:37 -05:00
// End your auto migrations
// Create seed data data, DO NOT TOUCH
if err := db.AutoMigrate(&models.User{}); err == nil && db.Migrator().HasTable(&models.User{}) {
if err := db.First(&models.User{}).Error; errors.Is(err, gorm.ErrRecordNotFound) {
utils.CreateSeedData()
}
}
2024-09-12 19:15:38 -04:00
}