33 lines
806 B
SQL
33 lines
806 B
SQL
USE snippetbox;
|
|
|
|
CREATE TABLE snippets (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
title VARCHAR(100) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
created DATETIME NOT NULL,
|
|
expires DATETIME NOT NULL
|
|
);
|
|
|
|
CREATE USER 'web';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON snippetbox.* TO 'web' IDENTIFIED BY 'dbpass';
|
|
|
|
CREATE INDEX idx_snippets_created ON snippets(created);
|
|
|
|
CREATE TABLE sessions (
|
|
token CHAR(43) PRIMARY KEY,
|
|
data BLOB NOT NULL,
|
|
expiry TIMESTAMP(6) NOT NULL
|
|
);
|
|
|
|
CREATE INDEX sessions_expiry_idx on sessions(expiry);
|
|
|
|
CREATE TABLE users (
|
|
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
|
username VARCHAR(255) NOT NULL,
|
|
email VARCHAR(255) NOT NULL,
|
|
hashed_password CHAR(60) NOT NULL,
|
|
created DATETIME NOT NULL
|
|
);
|
|
|
|
ALTER TABLE users ADD CONSTRAINT users_uc_email UNIQUE (email);
|