|
@@ -128,6 +128,55 @@ func TestGenCacheKeys(t *testing.T) {
|
|
|
return true
|
|
|
}())
|
|
|
})
|
|
|
+ t.Run("no database name", func(t *testing.T) {
|
|
|
+ primariCacheKey, _ = genCacheKeys(parser.Table{
|
|
|
+ Name: stringx.From("user"),
|
|
|
+ Db: stringx.From(""),
|
|
|
+ PrimaryKey: parser.Primary{
|
|
|
+ Field: *primaryField,
|
|
|
+ AutoIncrement: true,
|
|
|
+ },
|
|
|
+ UniqueIndex: map[string][]*parser.Field{
|
|
|
+ "mobile_unique": {
|
|
|
+ mobileField,
|
|
|
+ },
|
|
|
+ "class_name_unique": {
|
|
|
+ classField,
|
|
|
+ nameField,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ Fields: []*parser.Field{
|
|
|
+ primaryField,
|
|
|
+ mobileField,
|
|
|
+ classField,
|
|
|
+ nameField,
|
|
|
+ {
|
|
|
+ Name: stringx.From("createTime"),
|
|
|
+ DataType: "time.Time",
|
|
|
+ Comment: "创建时间",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ Name: stringx.From("updateTime"),
|
|
|
+ DataType: "time.Time",
|
|
|
+ Comment: "更新时间",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ })
|
|
|
+
|
|
|
+ assert.Equal(t, true, func() bool {
|
|
|
+ return cacheKeyEqual(primariCacheKey, Key{
|
|
|
+ VarLeft: "cacheUserIdPrefix",
|
|
|
+ VarRight: `"cache:user:id:"`,
|
|
|
+ VarExpression: `cacheUserIdPrefix = "cache:user:id:"`,
|
|
|
+ KeyLeft: "userIdKey",
|
|
|
+ KeyRight: `fmt.Sprintf("%s%v", cacheUserIdPrefix, id)`,
|
|
|
+ DataKeyRight: `fmt.Sprintf("%s%v", cacheUserIdPrefix, data.Id)`,
|
|
|
+ KeyExpression: `userIdKey := fmt.Sprintf("%s%v", cacheUserIdPrefix, id)`,
|
|
|
+ DataKeyExpression: `userIdKey := fmt.Sprintf("%s%v", cacheUserIdPrefix, data.Id)`,
|
|
|
+ FieldNameJoin: []string{"id"},
|
|
|
+ })
|
|
|
+ }())
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
func cacheKeyEqual(k1, k2 Key) bool {
|