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();
|
$pdo->beginTransaction();
|
||||||
try {
|
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['client_answers'] = (int)$pdo->exec('DELETE FROM client_answer');
|
||||||
$deleted['completed_questionnaires'] = (int)$pdo->exec('DELETE FROM completed_questionnaire');
|
$deleted['completed_questionnaires'] = (int)$pdo->exec('DELETE FROM completed_questionnaire');
|
||||||
$deleted['clients'] = (int)$pdo->exec('DELETE FROM client');
|
$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(
|
$sess = $pdo->prepare(
|
||||||
"DELETE FROM session WHERE userID IN (SELECT userID FROM users WHERE role != 'admin')"
|
"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();
|
$users->execute();
|
||||||
$deleted['users'] = $users->rowCount();
|
$deleted['users'] = $users->rowCount();
|
||||||
|
|
||||||
$deleted['coaches'] = (int)$pdo->exec('DELETE FROM coach');
|
$pdo->exec('PRAGMA foreign_keys = ON');
|
||||||
$deleted['supervisors'] = (int)$pdo->exec('DELETE FROM supervisor');
|
|
||||||
|
|
||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
if ($pdo->inTransaction()) {
|
if ($pdo->inTransaction()) {
|
||||||
$pdo->rollBack();
|
$pdo->rollBack();
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
$pdo->exec('PRAGMA foreign_keys = ON');
|
||||||
|
} catch (Throwable $ignored) {
|
||||||
|
}
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user