wms-be/database/migration.go

62 lines
1.5 KiB
Go

package database
import (
"github.com/Caknoooo/go-gin-clean-starter/database/entities"
"gorm.io/gorm"
)
func Migrate(db *gorm.DB) error {
if err := db.AutoMigrate(
&entities.M_Client{},
&entities.M_User{},
&entities.RefreshToken{},
&entities.M_Menu{},
&entities.M_Role{},
&entities.M_Permissions{},
&entities.M_User_Role{},
&entities.M_Role_Menu{},
&entities.M_Menu_Client{},
&entities.M_Role_Permission{},
&entities.M_MaintenanceGroup{},
&entities.M_MaintenanceGroupRole{},
&entities.M_MaintenanceGroupRoleUser{},
&entities.MProductEntity{},
&entities.MCategoryEntity{},
&entities.MUomEntity{},
&entities.MVendorEntity{},
&entities.MCrossReferenceEntity{},
); err != nil {
return err
}
return nil
}
func MigrateFresh(db *gorm.DB) error {
// Drop tables
if err := db.Migrator().DropTable(
// &entities.M_Client{},
// &entities.M_User{},
// &entities.RefreshToken{},
// &entities.M_Menu{},
// &entities.M_Role{},
// &entities.M_Permissions{},
// &entities.M_User_Role{},
// &entities.M_Role_Menu{},
// &entities.M_Menu_Client{},
// &entities.M_Role_Permission{},
// &entities.M_MaintenanceGroup{},
// &entities.M_MaintenanceGroupRole{},
// &entities.M_MaintenanceGroupRoleUser{},
// &entities.MCategoryEntity{},
&entities.MProductEntity{},
// &entities.MUomEntity{},
&entities.MVendorEntity{},
&entities.MCrossReferenceEntity{},
); err != nil {
return err
}
// Migrate ulang
return Migrate(db)
}