31 lines
852 B
PL/PgSQL
31 lines
852 B
PL/PgSQL
BEGIN;
|
|
|
|
CREATE TABLE IF NOT EXISTS "post" (
|
|
"id" SERIAL PRIMARY KEY,
|
|
"title" TEXT NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
"description" TEXT NOT NULL,
|
|
"preview_image_url" TEXT NOT NULL,
|
|
"published_time" TIMESTAMP,
|
|
"created_time" TIMESTAMP NOT NULL,
|
|
"updated_time" TIMESTAMP NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "label" (
|
|
"id" SERIAL PRIMARY KEY,
|
|
"name" TEXT NOT NULL,
|
|
"color" TEXT NOT NULL,
|
|
"created_time" TIMESTAMP NOT NULL,
|
|
"updated_time" TIMESTAMP NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS "post_label" (
|
|
"post_id" SERIAL NOT NULL,
|
|
"label_id" SERIAL NOT NULL,
|
|
"label_order" INTEGER NOT NULL,
|
|
PRIMARY KEY ("post_id", "label_id"),
|
|
FOREIGN KEY ("post_id") REFERENCES "post" ("id") ON DELETE CASCADE,
|
|
FOREIGN KEY ("label_id") REFERENCES "label" ("id") ON DELETE CASCADE
|
|
);
|
|
|
|
COMMIT; |