Просмотр исходного кода

Fixed user deletion in Postgres SQL

utkarshcmu 10 лет назад
Родитель
Сommit
2676f24e0a
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      pkg/services/sqlstore/user.go

+ 9 - 4
pkg/services/sqlstore/user.go

@@ -319,10 +319,15 @@ func SearchUsers(query *m.SearchUsersQuery) error {
 
 func DeleteUser(cmd *m.DeleteUserCommand) error {
 	return inTransaction(func(sess *xorm.Session) error {
-		deletes := []string{
-			"DELETE FROM star WHERE user_id = ?",
-			"DELETE FROM user WHERE id = ?",
-		}
+    var deletes [2]string
+
+    if (sess.Engine.DriverName() == "postgres") {
+      deletes[0] = "DELETE FROM star WHERE user_id = ?"
+      deletes[1] = "DELETE FROM \"user\" WHERE id = ?"
+    } else {
+      deletes[0] = "DELETE FROM star WHERE user_id = ?"
+      deletes[1] = "DELETE FROM user WHERE id = ?"
+    }
 
 		for _, sql := range deletes {
 			_, err := sess.Exec(sql, cmd.UserId)