BEGIN TRANSACTION; CREATE TABLE IF NOT EXISTS "params" ( "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"); 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") ); CREATE TABLE IF NOT EXISTS "approval-keys" ( "key" TEXT NOT NULL UNIQUE, PRIMARY KEY("key") ); CREATE TABLE IF NOT EXISTS "registry" ( "domain" TEXT NOT NULL UNIQUE, "username" TEXT NOT NULL, "last_renewal" TEXT NOT NULL, PRIMARY KEY("domain"), FOREIGN KEY("username") REFERENCES "users"("id") ); CREATE TABLE IF NOT EXISTS "zones" ( "zone" TEXT NOT NULL UNIQUE, "username" TEXT NOT NULL, PRIMARY KEY("zone"), FOREIGN KEY("username") REFERENCES "users"("id") ); CREATE TABLE IF NOT EXISTS "sites" ( "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") ); COMMIT;