feat: PDF 매칭 필터링 및 서적 정보 UI 개선
- 서적 편집 페이지에서 PDF 매칭 드롭다운이 현재 서적의 PDF만 표시하도록 수정 - PDF 관리 페이지에 서적 정보 표시 UI 추가 - 타입 안전한 비교로 book_id 필터링 개선 - PDF 통계 카드에 서적별 분류 추가 - 필터 기능에 '서적 포함' 옵션 추가 - 디버깅 로그 추가로 문제 추적 개선 주요 변경사항: - book-editor.js: String() 타입 변환으로 안전한 book_id 비교 - pdf-manager.html/js: 서적 정보 배지 및 통계 카드 추가 - book-documents.js: HTML 문서 필터링 로직 개선
This commit is contained in:
34
backend/migrations/007_add_document_links.sql
Normal file
34
backend/migrations/007_add_document_links.sql
Normal file
@@ -0,0 +1,34 @@
|
||||
-- 문서 링크 테이블 생성
|
||||
CREATE TABLE document_links (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
source_document_id UUID NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
|
||||
target_document_id UUID NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
|
||||
selected_text TEXT NOT NULL,
|
||||
start_offset INTEGER NOT NULL,
|
||||
end_offset INTEGER NOT NULL,
|
||||
link_text VARCHAR(500),
|
||||
description TEXT,
|
||||
created_by UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE
|
||||
);
|
||||
|
||||
-- 인덱스 생성
|
||||
CREATE INDEX idx_document_links_source_document_id ON document_links(source_document_id);
|
||||
CREATE INDEX idx_document_links_target_document_id ON document_links(target_document_id);
|
||||
CREATE INDEX idx_document_links_created_by ON document_links(created_by);
|
||||
CREATE INDEX idx_document_links_start_offset ON document_links(start_offset);
|
||||
|
||||
-- 업데이트 트리거 생성
|
||||
CREATE OR REPLACE FUNCTION update_document_links_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER trigger_update_document_links_updated_at
|
||||
BEFORE UPDATE ON document_links
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_document_links_updated_at();
|
||||
Reference in New Issue
Block a user