<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

echo "<h2>Reparação de Lock no Banco de Dados</h2>";

$db_path = '../a/.eggziedb.db';

// Remover arquivos de lock
if (file_exists($db_path . '-wal')) {
    if (@unlink($db_path . '-wal')) echo "<p>Arquivo WAL removido.</p>";
    else echo "<p>Não foi possível remover WAL.</p>";
}
if (file_exists($db_path . '-shm')) {
    if (@unlink($db_path . '-shm')) echo "<p>Arquivo SHM removido.</p>";
    else echo "<p>Não foi possível remover SHM.</p>";
}

// Tentar abrir e executar vacuum
try {
    $db = new SQLite3($db_path);
    $db->busyTimeout(30000);
    $db->exec('PRAGMA journal_mode = DELETE'); // Temporariamente sem WAL
    $db->exec('VACUUM');
    $db->exec('PRAGMA journal_mode = WAL');
    $db->close();
    echo "<p style='color:green'>Banco reparado com sucesso.</p>";
} catch (Exception $e) {
    echo "<p style='color:red'>Erro: " . $e->getMessage() . "</p>";
}

echo "<p><a href='users_create.php'>Voltar para criação</a></p>";
?>