Browse Source

完成删除

yjp 1 year ago
parent
commit
e58f2fa9a7
3 changed files with 24 additions and 0 deletions
  1. 1 0
      test_sql.go
  2. 12 0
      v1.go
  3. 11 0
      v1_test.go

+ 1 - 0
test_sql.go

@@ -12,6 +12,7 @@ const (
 
 const (
 	sqlInsertFormat = `insert into %s (id, name, time, table_num) values ('%s', '%s', parse_time('%s', '2006-01-02 15:04:05'), %d)`
+	sqlDeleteFormat = `delete from %s where id = '%s'`
 )
 
 const (

+ 12 - 0
v1.go

@@ -179,6 +179,18 @@ func doInsert(tx client.Transaction, version string, keyColumns []string, clause
 }
 
 func doDelete(tx client.Transaction, version string, keyColumns []string, clause *deleteClause, operatorID string) error {
+	statement, err := tx.DeleteWhereTx(&client.DeleteWhereRequest{
+		TablePrefixWithSchema: clause.table,
+		Version:               version,
+		KeyColumns:            keyColumns,
+		Where:                 client.NewClause().Common(clause.where),
+		UserID:                operatorID,
+	})
+	if err != nil {
+		fmt.Println(statement)
+		return err
+	}
+
 	return nil
 }
 

+ 11 - 0
v1_test.go

@@ -44,6 +44,16 @@ func TestApiV1OperateParse(t *testing.T) {
 			t.Fatal("行数据不正确")
 		}
 	}
+
+	parsed = operateParse(t, parseSqlDelete)
+
+	if parsed["table"].(string) != tableName {
+		t.Fatal("表名不正确")
+	}
+
+	if parsed["where"] != `(((id = 'aaa') AND (name = 'yjp')) AND (age < 100)) AND (describe IN ('yjp',))` {
+		t.Fatal("where不正确")
+	}
 }
 
 func TestApiV1Operate(t *testing.T) {
@@ -72,6 +82,7 @@ func TestApiV1Operate(t *testing.T) {
 	})
 
 	operate(t, fmt.Sprintf(sqlInsertFormat, tablePrefix, id, name, now.Format(time.DateTime), tableNum), keyColumns)
+	operate(t, fmt.Sprintf(sqlDeleteFormat, tablePrefix, id), keyColumns)
 }
 
 func autoMigrate(t *testing.T, items []client.AutoMigrateItem) {