|
@@ -3,7 +3,6 @@ package userTag
|
|
import (
|
|
import (
|
|
"context"
|
|
"context"
|
|
"fmt"
|
|
"fmt"
|
|
- "github.com/gogf/gf/v2/database/gdb"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"log"
|
|
"log"
|
|
@@ -15,6 +14,11 @@ var (
|
|
)
|
|
)
|
|
|
|
|
|
func BaseUserTag() error {
|
|
func BaseUserTag() error {
|
|
|
|
+ defer func() {
|
|
|
|
+ //清理备份数据
|
|
|
|
+ g.DB().Exec(ctx, `DROP TABLE dwd_d_user_tag_back;`)
|
|
|
|
+ g.DB().Exec(ctx, `DROP TABLE dwd_d_user_tag_tmp;`)
|
|
|
|
+ }()
|
|
if _, err := g.DB().Exec(ctx, fmt.Sprintf(`CREATE TABLE pub_tags.dwd_d_user_tag_tmp
|
|
if _, err := g.DB().Exec(ctx, fmt.Sprintf(`CREATE TABLE pub_tags.dwd_d_user_tag_tmp
|
|
(
|
|
(
|
|
|
|
|
|
@@ -28,9 +32,6 @@ func BaseUserTag() error {
|
|
g.Log().Errorf(ctx, "创建表异常%v", err)
|
|
g.Log().Errorf(ctx, "创建表异常%v", err)
|
|
return err
|
|
return err
|
|
} //创建表数据
|
|
} //创建表数据
|
|
- defer func() {
|
|
|
|
- g.DB().Exec(ctx, `DROP TABLE dwd_d_user_tag_tmp;`)
|
|
|
|
- }()
|
|
|
|
//统计插入user数据
|
|
//统计插入user数据
|
|
var userTags []string
|
|
var userTags []string
|
|
tagUsers := make(map[int64][]string)
|
|
tagUsers := make(map[int64][]string)
|
|
@@ -74,19 +75,13 @@ VALUES %s`, strings.Join(userTags, ","))); err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- //事务操作修改表名
|
|
|
|
- err = g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
|
|
|
|
- _, err = g.DB().Exec(ctx, "DROP TABLE dwd_d_user_tag;")
|
|
|
|
- if err != nil {
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
- _, err = g.DB().Exec(ctx, "RENAME TABLE dwd_d_user_tag_tmp TO dwd_d_user_tag;")
|
|
|
|
- if err != nil {
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
- return nil
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
|
|
+ _, err = g.DB().Exec(ctx, "RENAME TABLE dwd_d_user_tag TO dwd_d_user_tag_back;")
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ _, err = g.DB().Exec(ctx, "RENAME TABLE dwd_d_user_tag_tmp TO dwd_d_user_tag;")
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
return err
|
|
return err
|
|
}
|
|
}
|