完善 channel remove 测试用例
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
m "platform/web/models"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gen"
|
||||
"gorm.io/gen/field"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/schema"
|
||||
)
|
||||
@@ -26,5 +29,19 @@ func main() {
|
||||
|
||||
models := g.GenerateAllTable()
|
||||
g.ApplyBasic(models...)
|
||||
|
||||
modelChannel := g.GenerateModel("channel",
|
||||
gen.FieldRelateModel(field.BelongsTo, "Node", &m.Node{}, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
}),
|
||||
gen.FieldRelateModel(field.BelongsTo, "User", &m.User{}, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
}),
|
||||
gen.FieldRelateModel(field.BelongsTo, "Proxy", &m.Proxy{}, &field.RelateConfig{
|
||||
RelatePointer: true,
|
||||
}),
|
||||
)
|
||||
g.ApplyBasic(modelChannel)
|
||||
|
||||
g.Execute()
|
||||
}
|
||||
|
||||
@@ -1,78 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"platform/pkg/orm"
|
||||
m "platform/web/models"
|
||||
q "platform/web/queries"
|
||||
"time"
|
||||
|
||||
"github.com/glebarez/sqlite"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func main() {
|
||||
open, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
for i := range 3 {
|
||||
println(i)
|
||||
}
|
||||
|
||||
err = open.AutoMigrate(&m.Resource{}, &m.ResourcePss{})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
q.SetDefault(open)
|
||||
|
||||
var r = &m.Resource{
|
||||
ID: 1,
|
||||
UserID: 101,
|
||||
Active: true,
|
||||
}
|
||||
open.Create(r)
|
||||
var resourcePss = &m.ResourcePss{
|
||||
ID: 1,
|
||||
ResourceID: 1,
|
||||
Type: 1,
|
||||
Live: 180,
|
||||
Expire: time.Now().AddDate(1, 0, 0),
|
||||
DailyLimit: 10000,
|
||||
}
|
||||
open.Create(resourcePss)
|
||||
|
||||
var resource = new(ResourceInfo)
|
||||
data := q.Resource.As("data")
|
||||
pss := q.ResourcePss.As("pss")
|
||||
err = data.Scopes(orm.Alias(data)).
|
||||
Select(
|
||||
data.ID, data.UserID, data.Active,
|
||||
pss.Type, pss.Live, pss.DailyUsed, pss.DailyLimit, pss.DailyLast, pss.Quota, pss.Used, pss.Expire,
|
||||
).
|
||||
LeftJoin(q.ResourcePss.As("pss"), pss.ResourceID.EqCol(data.ID)).
|
||||
Where(data.ID.Eq(1)).
|
||||
Scan(&resource)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
bytes, err := json.MarshalIndent(resource, "", " ")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
println(string(bytes))
|
||||
}
|
||||
|
||||
type ResourceInfo struct {
|
||||
Id int32
|
||||
UserId int32
|
||||
Active bool
|
||||
Type int32
|
||||
Live int32
|
||||
DailyLimit int32
|
||||
DailyUsed int32
|
||||
DailyLast time.Time
|
||||
Quota int32
|
||||
Used int32
|
||||
Expire time.Time
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user