-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathguns-meta.sql
56 lines (49 loc) · 1.57 KB
/
guns-meta.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
CREATE DATABASE IF NOT EXISTS guns_meta;
USE guns_meta;
CREATE TABLE `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`login` VARCHAR(32) NOT NULL,
`email` VARCHAR(256) NOT NULL,
UNIQUE(`login`)
);
CREATE TABLE `hashes` (
`user_id` INT UNSIGNED NOT NULL PRIMARY KEY,
`hash` CHAR(64) NOT NULL,
`salt` CHAR(16) NOT NULL,
`rounds` INT UNSIGNED NOT NULL
);
CREATE TABLE `pw_tokens` (
`user_id` INT UNSIGNED NOT NULL PRIMARY KEY,
`token` CHAR(32) NOT NULL,
`generated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE(`token`)
);
CREATE TABLE `user_badges` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT UNSIGNED NOT NULL,
`badge_id` INT UNSIGNED NOT NULL,
INDEX(`user_id`), INDEX(`badge_id`)
);
CREATE TABLE `badges` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`desc` TEXT NOT NULL
-- Needs more, but not right now.
);
CREATE TABLE `client_keys` (
`owner_id` INT UNSIGNED NOT NULL PRIMARY KEY,
`privkey` TEXT NOT NULL,
`pubkey` TEXT NOT NULL,
`generated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX(`generated`)
);
CREATE TABLE `server_keys` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`owner_id` INT UNSIGNED NOT NULL,
`server_name` VARCHAR(64) NOT NULL,
`privkey` TEXT NOT NULL,
`pubkey` TEXT NOT NULL,
`generated` TIMESTAMP NOT NULL DEFAULT 0,
`token` CHAR(64) NOT NULL,
`token_generated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX(`generated`), INDEX(`token_generated`), INDEX(`owner_id`)
);