57 lines
1.6 KiB
PHP
57 lines
1.6 KiB
PHP
<?php
|
|
// Database configuration
|
|
define('DB_PATH', __DIR__ . '/../db/markers.db');
|
|
|
|
// Create db directory if it doesn't exist
|
|
if (!is_dir(__DIR__ . '/../db')) {
|
|
mkdir(__DIR__ . '/../db', 0755, true);
|
|
}
|
|
|
|
// Connect to SQLite database
|
|
function getDB() {
|
|
try {
|
|
$db = new PDO('sqlite:' . DB_PATH);
|
|
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
|
// 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');
|
|
?>
|