Files
AutoMarket/db/init.sql

42 lines
1.3 KiB
SQL

-- db/init.sql
-- Создаёт таблицы для хранения пользователей, ключей маркетплейсов, кейсов и файлов
CREATE TABLE IF NOT EXISTS users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password_hash TEXT NOT NULL,
plan VARCHAR(20) DEFAULT 'free',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS credentials (
user_id INT REFERENCES users(id) ON DELETE CASCADE,
platform VARCHAR(50),
api_key TEXT,
client_id TEXT,
client_secret TEXT,
other_data JSONB,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id, platform)
);
CREATE TABLE IF NOT EXISTS cases (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id) ON DELETE CASCADE,
platform VARCHAR(50) NOT NULL DEFAULT 'ozon',
violator_url TEXT NOT NULL,
violator_article VARCHAR(50) NOT NULL,
my_article VARCHAR(50),
comment TEXT,
status VARCHAR(20) DEFAULT 'new',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS files (
id SERIAL PRIMARY KEY,
case_id INT REFERENCES cases(id) ON DELETE CASCADE,
file_path TEXT NOT NULL,
uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);