api/migrations.sql
2025-10-28 20:28:40 +03:00

76 lines
2.1 KiB
SQL

CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
uuid VARCHAR(36) NOT NULL UNIQUE,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE,
verified INT NOT NULL DEFAULT 0
);
CREATE TABLE sessions (
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
user_uuid VARCHAR(36) NOT NULL,
refresh_uuid VARCHAR(36) NOT NULL UNIQUE,
session_uuid VARCHAR(36) NOT NULL,
expires TIMESTAMP WITH TIME ZONE NULL
);
CREATE TABLE merch (
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
merch_uuid VARCHAR(36) NOT NULL UNIQUE,
user_uuid VARCHAR(36) NOT NULL,
name TEXT
);
CREATE TABLE origin_surugaya(
id BIGSERIAL PRIMARY KEY,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
merch_uuid VARCHAR(36) NOT NULL UNIQUE,
link TEXT
);
CREATE TABLE origin_mandarake(
id BIGSERIAL PRIMARY KEY,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
merch_uuid VARCHAR(36) NOT NULL UNIQUE,
link TEXT
);
CREATE TABLE prices(
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
merch_uuid VARCHAR(36) NOT NULL,
price INT NULL,
origin INT
);
CREATE TABLE labels(
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
user_uuid VARCHAR(36) NOT NULL,
label_uuid VARCHAR(36) NOT NULL,
name VARCHAR(255),
color VARCHAR(32),
bg_color VARCHAR(32)
);
CREATE TABLE card_labels (
user_uuid VARCHAR(36) NOT NULL,
label_uuid VARCHAR(36) NOT NULL,
merch_uuid VARCHAR(36) NOT NULL
);