servnest/db/schema.sql

50 lines
1.8 KiB
MySQL
Raw Normal View History

2022-04-18 23:10:15 +02:00
BEGIN TRANSACTION;
2022-09-17 00:49:07 +02:00
CREATE TABLE IF NOT EXISTS "params" (
2022-11-07 19:40:40 +01:00
"name" TEXT NOT NULL UNIQUE,
"value" TEXT NOT NULL,
PRIMARY KEY("name")
);
INSERT INTO "params"("name", "value") VALUES("instance_bucket_tokens", "0");
INSERT INTO "params"("name", "value") VALUES("instance_bucket_last_update", "0");
2022-12-21 00:14:55 +01:00
INSERT INTO "params"("name", "value") VALUES("secret_key", "0");
INSERT INTO "params"("name", "value") VALUES("secret_key_last_change", "0");
INSERT INTO "params"("name", "value") VALUES("username_salt", "00000000000000000000000000000000"); -- Should be unique and secret ; generate one using `openssl rand -hex 16` ; can't be changed without breaking current accounts login
CREATE TABLE IF NOT EXISTS "users" (
"id" TEXT NOT NULL UNIQUE,
"username" TEXT NOT NULL UNIQUE,
"password" TEXT NOT NULL,
"registration_date" TEXT NOT NULL,
"bucket_tokens" INTEGER NOT NULL,
"bucket_last_update" INTEGER NOT NULL,
"type" TEXT NOT NULL,
PRIMARY KEY("id")
2022-09-17 00:49:07 +02:00
);
CREATE TABLE IF NOT EXISTS "approval-keys" (
"key" TEXT NOT NULL UNIQUE,
PRIMARY KEY("key")
);
2022-04-18 23:10:15 +02:00
CREATE TABLE IF NOT EXISTS "registry" (
2022-11-07 19:40:40 +01:00
"domain" TEXT NOT NULL UNIQUE,
"username" TEXT NOT NULL,
"last_renewal" TEXT NOT NULL,
PRIMARY KEY("domain"),
FOREIGN KEY("username") REFERENCES "users"("id")
2022-04-18 23:10:15 +02:00
);
CREATE TABLE IF NOT EXISTS "zones" (
2022-11-07 19:40:40 +01:00
"zone" TEXT NOT NULL UNIQUE,
"username" TEXT NOT NULL,
PRIMARY KEY("zone"),
FOREIGN KEY("username") REFERENCES "users"("id")
2022-04-18 23:10:15 +02:00
);
CREATE TABLE IF NOT EXISTS "sites" (
2022-11-07 19:40:40 +01:00
"username" TEXT NOT NULL,
"site_dir" TEXT NOT NULL,
"domain" TEXT NOT NULL UNIQUE,
"domain_type" TEXT NOT NULL,
"protocol" TEXT NOT NULL,
"creation_date" TEXT NOT NULL,
PRIMARY KEY("domain"),
FOREIGN KEY("username") REFERENCES "users"("id")
2022-04-18 23:10:15 +02:00
);
COMMIT;