-- # 书籍作者表
--
-- ## 基本信息
--
-- 模块：book
-- 表名：book_author
-- 模型：model/book/book_author.go
-- 迁移接入：initialize/gorm_biz.go
-- 删除策略：硬删表
-- 状态字典：book_author_status
-- 职责：承载书籍作者主体信息，用于作者资料展示、书籍作者关联和后台作者管理。

CREATE TABLE book_author (
  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,
  name varchar(128) NOT NULL,
  author_status varchar(32) NOT NULL DEFAULT 'enabled',
  intro text,
  cover_url varchar(500)
);

COMMENT ON TABLE book_author IS '书籍作者表';
COMMENT ON COLUMN book_author.id IS '主键';
COMMENT ON COLUMN book_author.created_at IS '创建时间';
COMMENT ON COLUMN book_author.updated_at IS '更新时间';
COMMENT ON COLUMN book_author.name IS '作者名称';
COMMENT ON COLUMN book_author.author_status IS '作者状态字典值，对应 book_author_status';
COMMENT ON COLUMN book_author.intro IS '作者简介';
COMMENT ON COLUMN book_author.cover_url IS '作者封面图片 URL';

CREATE UNIQUE INDEX uk_book_author_name ON book_author (name);
CREATE INDEX idx_book_author_author_status ON book_author (author_status);
CREATE INDEX idx_book_author_created_at ON book_author (created_at);
