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(),
|
||||
deleted_at TIMESTAMPTZ,
|
||||
|
||||
CONSTRAINT posts_slug_unique UNIQUE (slug),
|
||||
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_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 (
|
||||
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