调用示例
SQL检测调用示例
func TsClient(order *pb.YearningAuditOrder) {
conn, err := grpc.Dial(address, grpc.WithInsecure())
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
c := pb.NewJunoClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
r, err := c.OrderDeal(ctx, order)
if err != nil {
log.Fatalf("could not connect: %v", err)
}
for _, i := range r.Record {
fmt.Println(i.SQL) // SQL语句
fmt.Println(i.Status) //审核状态
fmt.Println(i.Level) // 错误等级
fmt.Println(i.Error) // 错误信息
fmt.Println(i.AffectRows) //影响行数
}
}
func TestTsClient(t *testing.T) {
s := pb.YearningAuditOrder{
SQL: "CREATE TABLE `core_test` (`id` int unsigned AUTO_INCREMENT PRIMARY KEY COMMENT 'id',`username` varchar(50) NOT NULL COMMENT 'xxx')",
DataBase: "test01",
Source: &pb.Source{
Addr: "127.0.0.1",
User: "root",
Password: "xxxxxxx",
Port: 3306,
},
Check: true,
WorkId: "201907292801",
}
TsClient(&s)
}
DML/DDL 语句执行并备份示例
func ExDDLClient(order *pb.YearningAuditOrder) {
// Set up a connection to the server.
conn, err := grpc.Dial(address, grpc.WithInsecure())
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
c := pb.NewJunoClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
r, err := c.OrderDDLExec(ctx, order)
if err != nil {
log.Fatalf("could not connect: %v", err)
}
fmt.Println(r.Message)
}
func ExDMLClient(order *pb.YearningAuditOrder) {
// Set up a connection to the server.
conn, err := grpc.Dial(address, grpc.WithInsecure())
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
c := pb.NewJunoClient(conn)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
r, err := c.OrderDMLExec(ctx, order)
if err != nil {
log.Fatalf("could not connect: %v", err)
}
fmt.Println(r.Message)
}
func TestExDDLClient(t *testing.T) {
s := pb.YearningAuditOrder{
SQL: "CREATE TABLE `core_grai32ned` (`id` int unsigned AUTO_INCREMENT PRIMARY KEY COMMENT 'id',`username` varchar(50) NOT NULL COMMENT 'xxx')",
DataBase: "test01",
Source: &pb.Source{
Addr: "127.0.0.1",
User: "root",
Password: "xxxxxxxx",
Port: 3306,
},
IsDML: false,
Backup: true,
Execute: true,
WorkId: "201907292801",
}
ExDDLClient(&s)
}
func TestExDMLClient(t *testing.T) {
s := pb.YearningAuditOrder{
SQL: "INSERT INTO `Yearning`.`b_test`(`id`,`idx`,`dateux`) VALUES(66732326,'321',NULL);",
DataBase: "test01",
Table: "b_test",
Source: &pb.Source{
Addr: "127.0.0.1",
User: "root",
Password: "xxxxxxx",
Port: 3306,
},
IsDML: true,
Backup: true,
Execute: true,
WorkId: "201907292801",
}
ExDMLClient(&s)
}