Spaces:
Paused
Paused
| CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; | |
| -- CreateTable | |
| CREATE TABLE "config" ( | |
| "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "id" UUID NOT NULL DEFAULT uuid_generate_v4(), | |
| "invitation_code" VARCHAR, | |
| "disable_signup" BOOLEAN NOT NULL DEFAULT false, | |
| "allow_server_storage_use" BOOLEAN NOT NULL DEFAULT false, | |
| CONSTRAINT "pk_af2ddc24176f1572cbdd4b45992" PRIMARY KEY ("id") | |
| ); | |
| -- CreateTable | |
| CREATE TABLE "files" ( | |
| "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "id" UUID NOT NULL DEFAULT uuid_generate_v4(), | |
| "name" VARCHAR NOT NULL, | |
| "type" VARCHAR, | |
| "message_id" VARCHAR, | |
| "mime_type" VARCHAR, | |
| "size" BIGINT, | |
| "uploaded_at" TIMESTAMPTZ(6), | |
| "upload_progress" DOUBLE PRECISION, | |
| "user_id" UUID NOT NULL, | |
| "parent_id" UUID, | |
| "deleted_at" TIMESTAMPTZ(6), | |
| "sharing_options" VARCHAR[], | |
| "signed_key" VARCHAR, | |
| "file_id" VARCHAR, | |
| "link_id" UUID, | |
| "forward_info" VARCHAR, | |
| CONSTRAINT "PK_6c16b9093a142e0e7613b04a3d9" PRIMARY KEY ("id") | |
| ); | |
| -- CreateTable | |
| CREATE TABLE "rate_limits" ( | |
| "key" VARCHAR(255) NOT NULL, | |
| "points" INTEGER NOT NULL DEFAULT 0, | |
| "expire" BIGINT, | |
| CONSTRAINT "rate_limits_pkey" PRIMARY KEY ("key") | |
| ); | |
| -- CreateTable | |
| CREATE TABLE "usages" ( | |
| "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "key" VARCHAR NOT NULL, | |
| "usage" BIGINT NOT NULL, | |
| "expire" TIMESTAMPTZ(6) NOT NULL, | |
| CONSTRAINT "PK_7d8e95b6dd4c0e87cad4972da13" PRIMARY KEY ("key") | |
| ); | |
| -- CreateTable | |
| CREATE TABLE "users" ( | |
| "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "id" UUID NOT NULL DEFAULT uuid_generate_v4(), | |
| "username" VARCHAR NOT NULL, | |
| "name" VARCHAR, | |
| "email" VARCHAR, | |
| "tg_id" VARCHAR, | |
| "plan" VARCHAR, | |
| "settings" JSONB, | |
| "role" VARCHAR, | |
| CONSTRAINT "PK_a3ffb1c0c8416b9fc6f907b7433" PRIMARY KEY ("id") | |
| ); | |
| -- CreateTable | |
| CREATE TABLE "waitings" ( | |
| "created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "updated_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| "id" UUID NOT NULL DEFAULT uuid_generate_v4(), | |
| "email" VARCHAR NOT NULL, | |
| CONSTRAINT "PK_f0cfe98441cf0fb92db66ae71c4" PRIMARY KEY ("id") | |
| ); | |
| -- CreateIndex | |
| CREATE INDEX "files_link_id_idx" ON "files"("link_id"); | |
| -- CreateIndex | |
| CREATE INDEX "files_message_id_idx" ON "files"("message_id"); | |
| -- CreateIndex | |
| CREATE INDEX "files_parent_id_idx" ON "files"("parent_id"); | |
| -- CreateIndex | |
| CREATE INDEX "files_user_id_idx" ON "files"("user_id"); | |
| -- CreateIndex | |
| CREATE INDEX "tg_id" ON "users"("tg_id"); | |
| -- AddForeignKey | |
| ALTER TABLE "files" ADD CONSTRAINT "files_links_fkey" FOREIGN KEY ("link_id") REFERENCES "files"("id") ON DELETE CASCADE ON UPDATE CASCADE; | |
| -- AddForeignKey | |
| ALTER TABLE "files" ADD CONSTRAINT "files_files_fkey" FOREIGN KEY ("parent_id") REFERENCES "files"("id") ON DELETE CASCADE ON UPDATE CASCADE; | |
| -- AddForeignKey | |
| ALTER TABLE "files" ADD CONSTRAINT "files_users_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; | |