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{}, ); 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.MProductEntity{}, ); err != nil { return err } // Migrate ulang return Migrate(db) }