setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Set full permissions on database file if (file_exists(DB_PATH)) { @chmod(DB_PATH, 0777); } // Initialize database schema initializeDB($db); return $db; } catch (PDOException $e) { die(json_encode(['error' => 'Database connection failed: ' . $e->getMessage()])); } } // Initialize database schema function initializeDB($db) { $db->exec(' CREATE TABLE IF NOT EXISTS markers ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) NOT NULL, latitude REAL NOT NULL, longitude REAL NOT NULL, open_24_hours BOOLEAN DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS roads ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) NOT NULL, status VARCHAR(100) NOT NULL, length REAL NOT NULL, coordinates TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS parcels ( id INTEGER PRIMARY KEY AUTOINCREMENT, owner_status VARCHAR(100) NOT NULL, area REAL NOT NULL, coordinates TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); '); } // Set JSON header header('Content-Type: application/json'); ?>