Edit file File name : _reset_database.php Content :<?php // A utility script to completely reset the database to its initial state. // This is useful for development and testing. // WARNING: THIS SCRIPT DELETES ALL DATA. DO NOT RUN IN PRODUCTION. header('Content-Type: text/plain'); require 'db_config.php'; echo "Omni-Invoice - Full Database Reset Script\n"; echo "=========================================\n\n"; try { $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { throw new Exception("Connection failed: " . $conn->connect_error); } echo "Successfully connected to the database.\n\n"; // Start transaction $conn->begin_transaction(); echo "Starting transaction...\n"; echo "Step 1: Dropping existing tables...\n"; $conn->query("SET FOREIGN_KEY_CHECKS = 0;"); $tables = ['invoice_items', 'invoices', 'estimate_items', 'estimates', 'customers', 'items', 'expenses', 'payroll', 'admins', 'business_settings']; foreach ($tables as $table) { $conn->query("DROP TABLE IF EXISTS $table"); echo " - Table '$table' dropped.\n"; } $conn->query("SET FOREIGN_KEY_CHECKS = 1;"); echo "Step 1 COMPLETE.\n\n"; echo "Step 2: Creating new table structures...\n"; $create_sql = file_get_contents('database_schema.sql'); if ($conn->multi_query($create_sql)) { // Must consume all results from multi_query while ($conn->next_result()) { if ($result = $conn->store_result()) { $result->free(); } } } else { throw new Exception("Error creating tables: " . $conn->error); } echo "Step 2 COMPLETE. All tables created.\n\n"; echo "Step 3: Populating tables with sample data...\n"; $populate_sql = file_get_contents('sample_data.sql'); if ($conn->multi_query($populate_sql)) { // Must consume all results from multi_query while ($conn->next_result()) { if ($result = $conn->store_result()) { $result->free(); } } } else { throw new Exception("Error populating data: " . $conn->error); } echo "Step 3 COMPLETE. All tables populated.\n\n"; // Commit transaction $conn->commit(); echo "---------------------------------------\n"; echo "DATABASE RESET SUCCESSFULLY.\n"; echo "You can now safely delete this file (_reset_database.php), database_schema.sql, and sample_data.sql from your server.\n"; $conn->close(); } catch (Exception $e) { if (isset($conn) && $conn->ping()) { $conn->rollback(); echo "\nTransaction rolled back due to error.\n"; } http_response_code(500); echo "\n\nAN ERROR OCCURRED:\n" . $e->getMessage() . "\n"; } ?> Save