CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS trips ( id VARCHAR(36) PRIMARY KEY, user_id INT NOT NULL, title VARCHAR(255) NOT NULL, destination VARCHAR(255) DEFAULT 'Cappadocia', start_date DATE NOT NULL, end_date DATE NOT NULL, preferences JSON, itinerary JSON, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS places_cache ( place_name_normalized VARCHAR(255) PRIMARY KEY, place_id VARCHAR(255), name VARCHAR(255), formatted_address TEXT, lat FLOAT, lng FLOAT, rating FLOAT, photo_reference TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS place_details_cache ( place_id VARCHAR(255) PRIMARY KEY, details JSON NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS directions_cache ( cache_key VARCHAR(500) PRIMARY KEY, response JSON NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );