db(migration): merge slug partial unique into 002_posts.sql
This commit is contained in:
parent
22de5add83
commit
ad6c69b0e8
@ -17,12 +17,12 @@ CREATE TABLE posts (
|
|||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||||
deleted_at TIMESTAMPTZ,
|
deleted_at TIMESTAMPTZ,
|
||||||
|
|
||||||
CONSTRAINT posts_slug_unique UNIQUE (slug),
|
|
||||||
CONSTRAINT posts_status_check CHECK (status IN ('draft', 'published'))
|
CONSTRAINT posts_status_check CHECK (status IN ('draft', 'published'))
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE INDEX idx_posts_status_published ON posts(status, published_at DESC) WHERE deleted_at IS NULL;
|
CREATE INDEX idx_posts_status_published ON posts(status, published_at DESC) WHERE deleted_at IS NULL;
|
||||||
CREATE INDEX idx_posts_slug ON posts(slug) WHERE deleted_at IS NULL;
|
CREATE INDEX idx_posts_slug ON posts(slug) WHERE deleted_at IS NULL;
|
||||||
|
CREATE UNIQUE INDEX idx_posts_slug_unique ON posts(slug) WHERE deleted_at IS NULL;
|
||||||
|
|
||||||
CREATE TABLE tags (
|
CREATE TABLE tags (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
-- 删除全局唯一约束
|
|
||||||
ALTER TABLE posts DROP CONSTRAINT IF EXISTS posts_slug_unique;
|
|
||||||
|
|
||||||
-- 创建部分唯一索引(仅对未删除记录)
|
|
||||||
CREATE UNIQUE INDEX idx_posts_slug_unique ON posts(slug) WHERE deleted_at IS NULL;
|
|
||||||
Loading…
x
Reference in New Issue
Block a user