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{}, &entities.MWarehouseEntity{}, &entities.MZonaEntity{}, &entities.MAisleEntity{}, &entities.MUserWarehouseEntity{}, &entities.TAssignmentEntity{}, &entities.TAssignmentUserEntity{}, &entities.TInventoryReceiptEntity{}, &entities.TInventoryReceiptLineEntity{}, &entities.TInventoryRequestEntity{}, &entities.TInventoryRequestLineEntity{}, &entities.TInventoryIssueEntity{}, &entities.TInventoryIssueLineEntity{}, &entities.TInventoryReturnEntity{}, &entities.TInventoryReturnLineEntity{}, &entities.InventoryTransactionEntity{}, &entities.InventoryStorageEntity{}, &entities.TInventoryMovementEntity{}, &entities.TInventoryMovementLineEntity{}, ); 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{}, // &entities.MWarehouseEntity{}, // &entities.MZonaEntity{}, // &entities.MAisleEntity{}, // &entities.MUserWarehouseEntity{}, // &entities.TAssignmentEntity{}, // &entities.TAssignmentUserEntity{}, // &entities.TInventoryReceiptEntity{}, // &entities.TInventoryReceiptLineEntity{}, // &entities.TInventoryRequestEntity{}, // &entities.TInventoryRequestLineEntity{}, // &entities.TInventoryIssueEntity{}, // &entities.TInventoryIssueLineEntity{}, // &entities.TInventoryReturnEntity{}, // &entities.TInventoryReturnLineEntity{}, // &entities.InventoryTransactionEntity{}, // &entities.InventoryStorageEntity{}, // &entities.TInventoryMovementEntity{}, // &entities.TInventoryMovementLineEntity{}, ); err != nil { return err } // Migrate ulang return Migrate(db) }