- Node group CRUD operations with traffic-based filtering - Three grouping modes: average distribution, subscription-based, and traffic-based - Automatic and manual group recalculation with history tracking - Group assignment preview before applying changes - User subscription group locking to prevent automatic reassignment - Subscribe-to-group mapping configuration - Group calculation history and detailed reports - System configuration for group management (enabled/mode/auto_create) Database: - Add node_group table for group definitions - Add group_history and group_history_detail tables for tracking - Add node_group_ids (JSON) to nodes and subscribe tables - Add node_group_id and group_locked fields to user_subscribe table - Add migration files for schema changes
15 lines
210 B
Go
15 lines
210 B
Go
package group
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// AutoMigrate 自动迁移数据库表
|
|
func AutoMigrate(db *gorm.DB) error {
|
|
return db.AutoMigrate(
|
|
&NodeGroup{},
|
|
&GroupHistory{},
|
|
&GroupHistoryDetail{},
|
|
)
|
|
}
|