61 lines
1.5 KiB
SQL
61 lines
1.5 KiB
SQL
-- Add migration script here
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
'id' INTEGER PRIMARY KEY NOT NULL,
|
|
'uuid' TEXT UNIQUE NOT NULL,
|
|
'username' TEXT NOT NULL,
|
|
'hash' TEXT NOT NULL,
|
|
'email' TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS inventories (
|
|
'id' INTEGER PRIMARY KEY NOT NULL,
|
|
'uuid' TEXT UNIQUE NOT NULL,
|
|
'user' INTEGER NOT NULL,
|
|
'money' FLOAT DEFAULT 0,
|
|
FOREIGN KEY ('user') REFERENCES users ('id')
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS user_items (
|
|
'id' INTEGER PRIMARY KEY NOT NULL,
|
|
'uuid' TEXT UNIQUE NOT NULL,
|
|
'inventory' INTEGER NOT NULL,
|
|
'item' INTEGER NOT NULL,
|
|
FOREIGN KEY ('inventory') REFERENCES inventories ('id'),
|
|
FOREIGN KEY ('item') REFERENCES items ('id')
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS items (
|
|
'id' INTEGER PRIMARY KEY NOT NULL,
|
|
'uuid' TEXT UNIQUE NOT NULL,
|
|
'name' TEXT NOT NULL,
|
|
'rarity' INTEGER NOT NULL,
|
|
'image' TEXT NOT NULL,
|
|
'price' FLOAT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS cases (
|
|
'id' INTEGER PRIMARY KEY NOT NULL,
|
|
'uuid' TEXT UNIQUE NOT NULL,
|
|
'name' TEXT NOT NULL,
|
|
'image' TEXT NOT NULL,
|
|
'price' FLOAT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS items_cases (
|
|
'item' INTEGER NOT NULL,
|
|
'case' INTEGER NOT NULL,
|
|
FOREIGN KEY ('item') REFERENCES items ('id'),
|
|
FOREIGN KEY ('case') REFERENCES cases ('id'),
|
|
PRIMARY KEY ('item', 'case')
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS refresh_tokens (
|
|
'id' INTEGER PRIMARY KEY,
|
|
'token' TEXT,
|
|
'previous' TEXT,
|
|
'user' INTEGER,
|
|
'expiry' INTEGER,
|
|
'revoked' BOOLEAN,
|
|
FOREIGN KEY ('user') REFERENCES users ('id')
|
|
);
|