fixing db wipe function order
This commit is contained in:
@ -716,10 +716,17 @@ function qdb_wipe_all_data_except_admins(PDO $pdo): array
|
||||
|
||||
$pdo->beginTransaction();
|
||||
try {
|
||||
// Interview data references clients/coaches; coach references supervisor.
|
||||
// Disable FK checks for this bulk wipe (same pattern as questionnaire delete).
|
||||
$pdo->exec('PRAGMA foreign_keys = OFF');
|
||||
|
||||
$deleted['client_answers'] = (int)$pdo->exec('DELETE FROM client_answer');
|
||||
$deleted['completed_questionnaires'] = (int)$pdo->exec('DELETE FROM completed_questionnaire');
|
||||
$deleted['clients'] = (int)$pdo->exec('DELETE FROM client');
|
||||
|
||||
$deleted['coaches'] = (int)$pdo->exec('DELETE FROM coach');
|
||||
$deleted['supervisors'] = (int)$pdo->exec('DELETE FROM supervisor');
|
||||
|
||||
$sess = $pdo->prepare(
|
||||
"DELETE FROM session WHERE userID IN (SELECT userID FROM users WHERE role != 'admin')"
|
||||
);
|
||||
@ -730,14 +737,16 @@ function qdb_wipe_all_data_except_admins(PDO $pdo): array
|
||||
$users->execute();
|
||||
$deleted['users'] = $users->rowCount();
|
||||
|
||||
$deleted['coaches'] = (int)$pdo->exec('DELETE FROM coach');
|
||||
$deleted['supervisors'] = (int)$pdo->exec('DELETE FROM supervisor');
|
||||
|
||||
$pdo->exec('PRAGMA foreign_keys = ON');
|
||||
$pdo->commit();
|
||||
} catch (Throwable $e) {
|
||||
if ($pdo->inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
try {
|
||||
$pdo->exec('PRAGMA foreign_keys = ON');
|
||||
} catch (Throwable $ignored) {
|
||||
}
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user