From 32aab7784b23c887fc896d0d94f214cfa6e63082 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Wed, 15 Apr 2026 10:03:00 +0900 Subject: [PATCH] =?UTF-8?q?fix(library):=20=EB=A7=88=EC=9D=B4=EA=B7=B8?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20asyncpg=20=EB=8B=A4=EC=A4=91=20st?= =?UTF-8?q?atement=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit asyncpg는 prepared statement에 다중 SQL 불가. 120(테이블) → 121(unique idx) → 122(parent idx) → 123(시드) 분리. Co-Authored-By: Claude Opus 4.6 (1M context) --- migrations/120_library_categories.sql | 11 ++--------- migrations/121_library_categories_indexes.sql | 1 + migrations/122_library_categories_parent_idx.sql | 1 + migrations/123_library_categories_seed.sql | 3 +++ 4 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 migrations/121_library_categories_indexes.sql create mode 100644 migrations/122_library_categories_parent_idx.sql create mode 100644 migrations/123_library_categories_seed.sql diff --git a/migrations/120_library_categories.sql b/migrations/120_library_categories.sql index f67c0a3..0c51e3f 100644 --- a/migrations/120_library_categories.sql +++ b/migrations/120_library_categories.sql @@ -1,5 +1,5 @@ -- 자료실 분류 독립 관리 테이블 -CREATE TABLE library_categories ( +CREATE TABLE IF NOT EXISTS library_categories ( id BIGSERIAL PRIMARY KEY, path TEXT NOT NULL, name TEXT NOT NULL, @@ -8,11 +8,4 @@ CREATE TABLE library_categories ( is_system BOOLEAN NOT NULL DEFAULT FALSE, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() -); - -CREATE UNIQUE INDEX uq_library_categories_path ON library_categories (path); -CREATE INDEX idx_library_categories_parent ON library_categories (parent_path); - --- 시스템 분류: 미분류 -INSERT INTO library_categories (path, name, parent_path, depth, is_system) -VALUES ('미분류', '미분류', NULL, 1, TRUE); +) diff --git a/migrations/121_library_categories_indexes.sql b/migrations/121_library_categories_indexes.sql new file mode 100644 index 0000000..c2973fa --- /dev/null +++ b/migrations/121_library_categories_indexes.sql @@ -0,0 +1 @@ +CREATE UNIQUE INDEX IF NOT EXISTS uq_library_categories_path ON library_categories (path) diff --git a/migrations/122_library_categories_parent_idx.sql b/migrations/122_library_categories_parent_idx.sql new file mode 100644 index 0000000..65d0e23 --- /dev/null +++ b/migrations/122_library_categories_parent_idx.sql @@ -0,0 +1 @@ +CREATE INDEX IF NOT EXISTS idx_library_categories_parent ON library_categories (parent_path) diff --git a/migrations/123_library_categories_seed.sql b/migrations/123_library_categories_seed.sql new file mode 100644 index 0000000..90c81fd --- /dev/null +++ b/migrations/123_library_categories_seed.sql @@ -0,0 +1,3 @@ +INSERT INTO library_categories (path, name, parent_path, depth, is_system) +VALUES ('미분류', '미분류', NULL, 1, TRUE) +ON CONFLICT DO NOTHING