50 lines
2.0 KiB
MySQL
50 lines
2.0 KiB
MySQL
|
-- LuckPerms PostgreSQL Schema
|
||
|
|
||
|
CREATE TABLE "{prefix}user_permissions" (
|
||
|
"id" SERIAL PRIMARY KEY NOT NULL,
|
||
|
"uuid" VARCHAR(36) NOT NULL,
|
||
|
"permission" VARCHAR(200) NOT NULL,
|
||
|
"value" BOOL NOT NULL,
|
||
|
"server" VARCHAR(36) NOT NULL,
|
||
|
"world" VARCHAR(36) NOT NULL,
|
||
|
"expiry" INT NOT NULL,
|
||
|
"contexts" VARCHAR(200) NOT NULL
|
||
|
);
|
||
|
CREATE INDEX "{prefix}user_permissions_uuid" ON "{prefix}user_permissions" ("uuid");
|
||
|
CREATE INDEX "{prefix}user_permissions_permission" ON "{prefix}user_permissions" ("permission");
|
||
|
|
||
|
CREATE TABLE "{prefix}group_permissions" (
|
||
|
"id" SERIAL PRIMARY KEY NOT NULL,
|
||
|
"name" VARCHAR(36) NOT NULL,
|
||
|
"permission" VARCHAR(200) NOT NULL,
|
||
|
"value" BOOL NOT NULL,
|
||
|
"server" VARCHAR(36) NULL,
|
||
|
"world" VARCHAR(36) NULL,
|
||
|
"expiry" INT NOT NULL,
|
||
|
"contexts" VARCHAR(200) NULL
|
||
|
);
|
||
|
CREATE INDEX "{prefix}group_permissions_name" ON "{prefix}group_permissions" ("name");
|
||
|
CREATE INDEX "{prefix}group_permissions_permission" ON "{prefix}group_permissions" ("permission");
|
||
|
|
||
|
CREATE TABLE "{prefix}players" (
|
||
|
"uuid" VARCHAR(36) PRIMARY KEY NOT NULL,
|
||
|
"username" VARCHAR(16) NOT NULL,
|
||
|
"primary_group" VARCHAR(36) NOT NULL
|
||
|
);
|
||
|
CREATE INDEX "{prefix}players_username" ON "{prefix}players" ("username");
|
||
|
|
||
|
CREATE TABLE "{prefix}actions" (
|
||
|
"id" SERIAL PRIMARY KEY NOT NULL,
|
||
|
"time" BIGINT NOT NULL,
|
||
|
"actor_uuid" VARCHAR(36) NOT NULL,
|
||
|
"actor_name" VARCHAR(16) NOT NULL,
|
||
|
"type" CHAR(1) NOT NULL,
|
||
|
"acted_uuid" VARCHAR(36) NOT NULL,
|
||
|
"acted_name" VARCHAR(36) NOT NULL,
|
||
|
"action" VARCHAR(256) NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE "{prefix}tracks" (
|
||
|
"name" VARCHAR(36) PRIMARY KEY NOT NULL,
|
||
|
"groups" TEXT NOT NULL
|
||
|
);
|