添加代理与节点的注册与端口分配接口功能
This commit is contained in:
@@ -13,7 +13,6 @@ var g *gen.Generator
|
||||
func main() {
|
||||
|
||||
// 初始化
|
||||
|
||||
db, _ := gorm.Open(
|
||||
postgres.Open("host=localhost user=test password=test dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai"),
|
||||
&gorm.Config{
|
||||
@@ -30,7 +29,7 @@ func main() {
|
||||
})
|
||||
g.UseDB(db)
|
||||
|
||||
// 生成模型
|
||||
// 公共参数
|
||||
common := []gen.ModelOpt{
|
||||
gen.FieldModify(func(field gen.Field) gen.Field {
|
||||
if field.Type == "time.Time" {
|
||||
@@ -41,6 +40,7 @@ func main() {
|
||||
gen.FieldRename("contact_qq", "ContactQQ"),
|
||||
}
|
||||
|
||||
// 生成模型
|
||||
customs := make(map[string]any)
|
||||
|
||||
resourcePss := g.GenerateModel("resource_pss", common...)
|
||||
@@ -85,14 +85,28 @@ func main() {
|
||||
)...)
|
||||
customs["bill"] = bill
|
||||
|
||||
edge := g.GenerateModel("edge", common...)
|
||||
customs["edge"] = edge
|
||||
|
||||
proxy := g.GenerateModel("proxy", append(common,
|
||||
gen.FieldRelate(field.HasMany, "Edges", edge, &field.RelateConfig{
|
||||
GORMTag: field.GormTag{
|
||||
"foreignKey": []string{"ProxyID"},
|
||||
"references": []string{"ID"},
|
||||
},
|
||||
}),
|
||||
)...)
|
||||
customs["proxy"] = proxy
|
||||
|
||||
// 生成表结构
|
||||
tables, _ := db.Migrator().GetTables()
|
||||
models := make([]interface{}, len(tables))
|
||||
for i, name := range tables {
|
||||
if customs[name] != nil {
|
||||
models[i] = customs[name]
|
||||
continue
|
||||
} else {
|
||||
models[i] = g.GenerateModel(name, common...)
|
||||
}
|
||||
models[i] = genBasic(name, common...)
|
||||
}
|
||||
|
||||
g.ApplyBasic(models...)
|
||||
@@ -101,7 +115,3 @@ func main() {
|
||||
|
||||
g.Execute()
|
||||
}
|
||||
|
||||
func genBasic(name string, opts ...gen.ModelOpt) any {
|
||||
return g.GenerateModel(name, opts...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user