Some checks failed
CI / init (pull_request) Has been cancelled
CI / Frontend node 18.16.0 (pull_request) Has been cancelled
CI / Backend go (1.22) (pull_request) Has been cancelled
CI / release-pr (pull_request) Has been cancelled
CI / devops-test (1.22, 18.16.0) (pull_request) Has been cancelled
CI / release-please (pull_request) Has been cancelled
CI / devops-prod (1.22, 18.x) (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
32 lines
1.4 KiB
Go
32 lines
1.4 KiB
Go
-- # 书籍作者关联表
|
||
--
|
||
-- ## 基本信息
|
||
--
|
||
-- 模块:book
|
||
-- 表名:book_author_relation
|
||
-- 模型:model/book/book_author_relation.go
|
||
-- 迁移接入:initialize/gorm_biz.go
|
||
-- 删除策略:硬删表
|
||
-- 职责:承载书籍与作者的多对多关系及展示顺序,保证同一本书下作者关联唯一。
|
||
|
||
CREATE TABLE book_author_relation (
|
||
id bigserial PRIMARY KEY,
|
||
created_at timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
updated_at timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
book_id bigint NOT NULL,
|
||
author_id bigint NOT NULL,
|
||
author_sort integer NOT NULL DEFAULT 1 CHECK (author_sort > 0)
|
||
);
|
||
|
||
COMMENT ON TABLE book_author_relation IS '书籍作者关联表';
|
||
COMMENT ON COLUMN book_author_relation.id IS '主键';
|
||
COMMENT ON COLUMN book_author_relation.created_at IS '创建时间';
|
||
COMMENT ON COLUMN book_author_relation.updated_at IS '更新时间';
|
||
COMMENT ON COLUMN book_author_relation.book_id IS '关联书籍 ID';
|
||
COMMENT ON COLUMN book_author_relation.author_id IS '关联作者 ID';
|
||
COMMENT ON COLUMN book_author_relation.author_sort IS '作者展示顺序';
|
||
|
||
CREATE UNIQUE INDEX uk_book_author_relation_book_id_author_id ON book_author_relation (book_id, author_id);
|
||
CREATE INDEX idx_book_author_relation_author_id ON book_author_relation (author_id);
|
||
CREATE INDEX idx_book_author_relation_book_id_author_sort ON book_author_relation (book_id, author_sort);
|