mirror of
https://github.com/michivonah/rss-reader.git
synced 2025-12-22 20:46:28 +01:00
45 lines
No EOL
1.9 KiB
SQL
45 lines
No EOL
1.9 KiB
SQL
CREATE TABLE "user" (
|
|
"id" UUID NOT NULL UNIQUE,
|
|
"mail" TEXT NOT NULL UNIQUE CHECK( (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]) 1 (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])),
|
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE "feed" (
|
|
"id" UUID NOT NULL UNIQUE,
|
|
"name" TEXT,
|
|
"url" TEXT NOT NULL,
|
|
"public" BOOLEAN NOT NULL DEFAULT false,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE "articles" (
|
|
"id" UUID NOT NULL UNIQUE,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"site_url" TEXT NOT NULL,
|
|
"image_url" TEXT,
|
|
"publish_date" TIMESTAMPTZ NOT NULL,
|
|
"feed_id" UUID NOT NULL,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
CREATE TABLE "user_to_feed" (
|
|
"id" INTEGER NOT NULL UNIQUE GENERATED BY DEFAULT AS IDENTITY,
|
|
"user_id" UUID NOT NULL,
|
|
"feed_id" UUID NOT NULL,
|
|
"owner" BOOLEAN NOT NULL DEFAULT False,
|
|
PRIMARY KEY("id")
|
|
);
|
|
|
|
ALTER TABLE "user_to_feed"
|
|
ADD FOREIGN KEY("user_id") REFERENCES "user"("id")
|
|
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
|
|
ALTER TABLE "user_to_feed"
|
|
ADD FOREIGN KEY("feed_id") REFERENCES "feed"("id")
|
|
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
|
|
|
ALTER TABLE "articles"
|
|
ADD FOREIGN KEY("feed_id") REFERENCES "feed"("id")
|
|
ON UPDATE NO ACTION ON DELETE NO ACTION; |