1
0
Files
nir/migrations/20240506141114_channel.sql
2025-04-03 03:27:45 +03:00

29 lines
952 B
SQL

CREATE TABLE IF NOT EXISTS "channel" (
"id" SERIAL PRIMARY KEY,
"name" VARCHAR,
"last_message_id" BIGINT,
"created_at" TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS "channel_user" (
"id" SERIAL PRIMARY KEY,
"channel_id" INTEGER NOT NULL,
"user_id" INTEGER NOT NULL,
"admin" BOOLEAN NOT NULL DEFAULT FALSE,
FOREIGN KEY("channel_id") REFERENCES "channel"("id") ON DELETE CASCADE,
FOREIGN KEY("user_id") REFERENCES "user"("id") ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS "message" (
"id" BIGSERIAL PRIMARY KEY,
"channel_id" INTEGER NOT NULL,
"author_id" INTEGER NOT NULL,
"content" TEXT NOT NULL,
"created_at" TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
"system" BOOLEAN NOT NULL DEFAULT FALSE,
FOREIGN KEY("channel_id") REFERENCES "channel"("id") ON DELETE CASCADE,
FOREIGN KEY("author_id") REFERENCES "user"("id") ON DELETE
SET
NULL
);