45 lines
1.3 KiB
SQL
45 lines
1.3 KiB
SQL
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
|
|
);
|