Files
AIclinicalresearch/docs/09-架构实施/01-Schema隔离架构设计(10个).md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
2026-01-14 19:15:01 +08:00

31 KiB
Raw Blame History

Schema髫皮ヲサ譫カ譫<EFBFBD>ョセ隶。<EFBFBD>?0荳ェSchema<6D>?

*<EFBFBD>。」迚域悽<EFBFBD>? V1.0
*蛻カ螳壽律譛滂シ? 2025-11-09
*螳樊命遲也払<EFBFBD>? 3荳ェ隸ヲ扈<EFBDA6>ソ∫ァ?+ 7荳ェ遨コSchema鬚<61>
*譫カ譫<EFBFBD>次蛻呻シ? Just-in-time隶セ隶。<E99AB6>瑚★辟ヲ蠖灘燕髴€豎ゑシ梧楔譫<E6A594><EFBFBD>蕗謇ゥ螻<EFBDA9>


<EFBFBD>搭 逶ョ蠖<EFBDAE>

  1. 譫カ譫<EFBFBD>ヲりソー
  2. 10荳ェSchema蜈ィ譎ッ
  3. Schema萓晁オ門<EFBFBD>邉サ
  4. 隸ヲ扈<EFBFBD>ョセ隶。<EFBFBD>?荳ェ霑∫ァサSchema
  5. <EFBFBD><EFBFBD>?荳ェ遨コSchema
  6. 霑∫ァサ遲也払
  7. [邇ー譛芽。ィ蛻<EFBDA8><E89BBB>譁ケ譯<EFBDB9>(#邇ー譛芽。ィ蛻<EFBDA8><E89BBB>譁ケ譯?
  8. 螟夜醗蜥瑚キィSchema蠑慕畑
  9. Prisma驟咲スョ遲也払

譫カ譫<EFBFBD>ヲりソー

隶セ隶。逶ョ譬<EFBFBD>

  1. *讓。蝮怜喧髫皮ヲ? - 豈丈クェ荳壼苅讓。蝮礼峡遶鬼chema<6D>梧髪謖∫峡遶矩Κ鄂?
  2. 謨ー謐ョ螳牙<EFBFBD> - Schema郤ァ蛻ォ逧<EFBDAB>揀髯先而蛻?
  3. 謇ゥ螻墓€ァ蠑コ - 譁ー讓。蝮怜ソォ騾滓磁蜈・<E89C88>悟宵髴€蛻帛サコ譁ーSchema
  4. *貂占ソ帛シ丞ョ樊<EFBFBD>? - 莨伜<E88EA8>霑∫ァサ譬ク蠢<EFBDB8>3荳ェSchema<6D><EFBFBD>菴呎潔髴€謇ゥ螻<EFBDA9>

螳樊命遲也払<EFBFBD>?隸ヲ扈<EFBDA6>+7遨?箝?

Week 1驥咲せ<E592B2>?
笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? 3荳ェ隸ヲ扈<EFBDA6>chema<6D>亥ョ梧紛隶セ隶?謨ー謐ョ霑∫ァサ<EFBDA7>?        笏?
笏? 笨?platform_schema  - 1荳ェ陦ィ<E999A6><EFBDA8>sers<72>?      笏?
笏? 笨?aia_schema       - 5荳ェ陦ィ<E999A6>亥ッケ隸晉嶌蜈ウ<E89C88><EFBDB3>    笏?
笏? 笨?pkb_schema       - 5荳ェ陦ィ<E999A6>育衍隸<E8A18D>コ鍋嶌蜈ウ<E89C88>? 笏?
笏懌楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? 7荳ェ遨コSchema<6D>亥宵蛻帛サコ蜻ス蜷咲ゥコ髣エ<E9ABA3>?            笏?
笏? <20>搭 asl_schema       - Week 3蜀崎ョセ隶。陦ィ       笏?
笏? <20>搭 common_schema    - 髴€隕∵慮蜀榊<E89C80>蟒コ陦ィ       笏?
笏? <20>搭 dc_schema        - 謨ー謐ョ貂<EFBDAE>エ玲ィ。蝮<EFBDA1>         笏?
笏? <20>搭 rvw_schema       - 螳。遞ソ邉サ扈滂シ亥性邇ー譛芽。ィ<EFBDA1><EFBDA8> 笏?
笏? <20>搭 admin_schema     - 霑占是邂。逅<EFBDA1>シ亥性邇ー譛芽。ィ<EFBDA1><EFBDA8> 笏?
笏? <20>搭 ssa_schema       - 譎コ閭ス扈溯ョ。蛻<EFBDA1>梵         笏?
笏? <20>搭 st_schema        - 扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ         笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

譬ク蠢<EFBFBD>次蛻<EFBFBD>

  • 笨?閨夂┬蠖灘燕 - 蜿ェ隸ヲ扈<EFBDA6>ョセ隶。蜥瑚ソ∫ァサ邇ー蝨ィ髴€隕∫噪<E288AB><E599AA>latform/AIA/PKB<4B>?
  • 笨?譫カ譫<EFBFBD><EFBFBD> - 蛻帛サコ7荳ェ遨コSchema<6D>悟多蜷咲ゥコ髣エ蜊<EFBDB4>菴?
  • 笨?Just-in-time - ASL遲画ィ。蝮怜惠蠑€蜿大燕蜀崎ッヲ扈<EFBDA6>ョセ隶。<E99AB6>磯∩蜈崎ソ<E5B48E>コヲ隶セ隶。<E99AB6>?
  • 笨?髯堺ス朱」朱勦 - Week 1蟾・菴憺㍼莉<E38DBC>2螟ゥ髯榊<E9ABAF>?.5螟?

10荳ェSchema蜈ィ譎ッ

# Schema蜷咲ァー 荳ュ譁<EFBFBD>錐遘ー 迥カ諤? 逕ィ騾? Week 1莉サ蜉。
1 platform_schema 蟷ウ蜿ー蝓コ遑€螻? 笨?隸ヲ扈<EFBDA6>ョセ隶。 逕ィ謌キ縲∵揀髯舌€∬ョ、隸? 霑∫ァサ1荳ェ陦ィ
2 aia_schema AI譎コ閭ス髣ョ遲<EFBFBD> 笨?隸ヲ扈<EFBDA6>ョセ隶。 蟇ケ隸昴€<EFBFBD>。ケ逶ョ邂。逅? 霑∫ァサ5荳ェ陦ィ
3 pkb_schema 荳ェ莠コ遏・隸<EFBFBD>コ? 笨?隸ヲ扈<EFBDA6>ョセ隶。 遏・隸<EFBFBD>コ薙€∵枚譯」縲∵音螟<EFBFBD> 霑∫ァサ5荳ェ陦ィ
4 asl_schema AI譎コ閭ス譁<EFBFBD> <EFBFBD>搭 遨コSchema <EFBFBD>鍵遲幃€? 蜿ェ蛻帛サコSchema
5 common_schema 騾夂畑閭ス蜉帛ア? <EFBFBD>搭 遨コSchema LLM菴ソ逕ィ隶ー蠖輔€eature Flags 蜿ェ蛻帛サコSchema
6 dc_schema 謨ー謐ョ貂<EFBFBD><EFBFBD> <EFBFBD>搭 遨コSchema 謨ー謐ョ貂<EFBFBD>エ怜キ・蜈キ 蜿ェ蛻帛サコSchema
7 rvw_schema 螳。遞ソ邉サ扈<EFBFBD> <EFBFBD>搭 遨コSchema 遞ソ莉カ螳。譟・ 蜿ェ蛻帛サコSchema+霑∫ァサ1陦?
8 admin_schema 霑占是邂。逅<EFBFBD> <EFBFBD>搭 遨コSchema 邂。逅<EFBFBD>錘蜿ー縲∵律蠢? 蜿ェ蛻帛サコSchema+霑∫ァサ1陦?
9 ssa_schema 譎コ閭ス扈溯ョ。蛻<EFBFBD> <EFBFBD>搭 遨コSchema 譎コ閭ス謨ー謐ョ蛻<EFBFBD> 蜿ェ蛻帛サコSchema
10 st_schema 扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ <EFBFBD>搭 遨コSchema 扈溯ョ。蟾・蜈キ髮? 蜿ェ蛻帛サコSchema

Schema萓晁オ門<EFBFBD>邉サ

螻らコァ扈捺桷 箝?

笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? L3: 荳壼苅讓。蝮怜ア?                                             笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏?笏娯楳笏€笏€笏€笏€笏€笏€笏€笏絶狽
笏? 笏?  AIA   笏?笏?  PKB   笏?笏?  ASL   笏?笏?  RVW   笏?笏?ADMIN  笏や狽
笏? 笏披楳笏€笏€笏€笏ャ笏€笏€笏€笏€笏?笏披楳笏€笏€笏€笏ャ笏€笏€笏€笏€笏?笏披楳笏€笏€笏€笏ャ笏€笏€笏€笏€笏?笏披楳笏€笏€笏€笏ャ笏€笏€笏€笏€笏?笏披楳笏€笏€笏€笏ャ笏€笏€笏€笏倪狽
笏?      笏?          笏?          笏?          笏?          笏?    笏?
笏?      笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏エ笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏エ笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏エ笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?    笏?
笏?                            竊?                               笏?
笏懌楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? L2: 騾夂畑閭ス蜉帛ア?                                             笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?                       笏?
笏? 笏?  Common     笏? 笏?  DC/SSA/ST  笏?                       笏?
笏? 笏? (騾夂畑謨ー謐ョ)   笏? 笏? (騾夂畑蟾・蜈キ)   笏?                       笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏ャ笏€笏€笏€笏€笏€笏€笏€笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?                       笏?
笏?        笏?                                                  笏?
笏?        笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏?                            竊?                               笏?
笏懌楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?
笏? L1: 蟷ウ蜿ー蝓コ遑€螻?                                             笏?
笏? 笏娯楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏? 笏?  Platform Schema                                    笏? 笏?
笏? 笏?  - 逕ィ謌キ邂。逅<EFBDA1> (users)                                  笏? 笏?
笏? 笏?  - 譚<>剞謗ァ蛻カ (RBAC)                                   笏? 笏?
笏? 笏?  - 隶、隸∵恪蜉。 (JWT/Session)                           笏? 笏?
笏? 笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏? 笏?
笏披楳笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏€笏?

蠑慕畑蜈ウ邉サ隸エ譏<EFBFBD>

譬ク蠢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>壼黒蜷台セ晁オ厄シ悟髄荳句シ慕畑

  1. 謇€譛我ク壼苅讓。蝮?竊?platform_schema.users

    • 謇€譛芽。ィ逧?user_id 蟄玲ョオ蠑慕畑 platform_schema.users(id)
    • 霍ィSchema螟夜醗<EFBFBD><EFBFBD>ostgreSQL謾ッ謖<EFBFBD>シ?
  2. *荳壼苅讓。蝮怜<EFBFBD>驛ィ陦ィ荵矩<EFBFBD>?

    • 蜷郡chema蜀<EFBFBD>噪陦ィ蜿ッ莉・逶ク莠貞シ慕畑<EFBFBD>亥ヲia_schema.conversations 竊?aia_schema.projects<74>?
  3. 遖∵ュ「蜿榊髄萓晁オ<EFBFBD>

    • platform_schema **荳崎<E88DB3>**蠑慕畑荳壼苅讓。蝮祐chema
    • 荳壼苅讓。蝮嶺ケ矩龍**荳榊コ<E6A68A>**逶ク莠貞シ慕畑<E68595>井ソ晄戟迢ャ遶区€<C280><EFBDA7>

隸ヲ扈<EFBFBD>ョセ隶。<EFBFBD>?荳ェ霑∫ァサSchema

1<EFBFBD>Ε platform_schema<6D>亥ケウ蜿ー蝓コ遑€螻ゑシ俄ュ?

逕ィ騾費シ<EFBFBD> 逕ィ謌キ邂。逅<EFBDA1>€∵揀髯先而蛻カ縲∬ョ、隸∵恪蜉?

霑∫ァサ陦ィ<EFBFBD><EFBFBD> 1荳?

  • users - 莉?public.users 霑∫ァサ

陦ィ扈捺桷<EFBFBD>嗽sers

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 邏「蠑<EFBFBD>
id UUID 荳サ髞ョ PK
email VARCHAR(255) 驍ョ邂ア<EFBFBD>亥髪荳€<EFBFBD>? UNIQUE, INDEX
password VARCHAR(255) <EFBFBD><EFBFBD>∝嶋蟶<EFBFBD> -
name VARCHAR(255) 逕ィ謌キ蜷? -
avatar_url VARCHAR(500) 螟エ蜒酋RL -
role VARCHAR(50) 隗定牡<EFBFBD><EFBFBD>ser/admin<69>? INDEX
status VARCHAR(50) 迥カ諤<EFBFBD><EFBFBD>ctive/inactive<76>? INDEX
kb_quota INT 遏・隸<EFBFBD>コ馴<EFBFBD>鬚? -
kb_used INT 蟾イ菴ソ逕ィ驟埼「? -
trial_ends_at TIMESTAMP 隸慕畑扈捺據譌カ髣エ -
is_trial BOOLEAN 譏ッ蜷ヲ隸慕畑 -
last_login_at TIMESTAMP 譛€蜷守匳蠖墓慮髣? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ INDEX
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -

*SQL DDL<44>?

CREATE SCHEMA IF NOT EXISTS platform_schema;

CREATE TABLE platform_schema.users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password VARCHAR(255) NOT NULL,
    name VARCHAR(255),
    avatar_url VARCHAR(500),
    role VARCHAR(50) NOT NULL DEFAULT 'user',
    status VARCHAR(50) DEFAULT 'active',
    kb_quota INT DEFAULT 3,
    kb_used INT DEFAULT 0,
    trial_ends_at TIMESTAMP,
    is_trial BOOLEAN DEFAULT true,
    last_login_at TIMESTAMP,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 邏「蠑<EFBDA2>
CREATE INDEX idx_users_email ON platform_schema.users(email);
CREATE INDEX idx_users_role ON platform_schema.users(role);
CREATE INDEX idx_users_status ON platform_schema.users(status);
CREATE INDEX idx_users_created_at ON platform_schema.users(created_at);

2<EFBFBD>Ε aia_schema<6D><61>I譎コ閭ス髣ョ遲費シ俄ュ<E4BF84>

逕ィ騾費シ<EFBFBD> AI蟇ケ隸昴€<E698B4>。ケ逶ョ邂。逅<EFBDA1>€<EFBFBD>€夂畑蟇ケ隸<EFBDB9>

霑∫ァサ陦ィ<EFBFBD><EFBFBD> 5荳?

  • projects - 莉?public.projects 霑∫ァサ
  • conversations - 莉?public.conversations 霑∫ァサ
  • messages - 莉?public.messages 霑∫ァサ
  • general_conversations - 莉?public.general_conversations 霑∫ァサ
  • general_messages - 莉?public.general_messages 霑∫ァサ

陦ィ扈捺桷讎りァ?

*1. projects<74>磯。ケ逶ョ陦ィ<E999A6>?

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
name VARCHAR(255) 鬘ケ逶ョ蜷咲ァー -
background TEXT 遐皮ゥカ閭梧勹 -
research_type VARCHAR(50) 遐皮ゥカ邀サ蝙<EFBFBD> -
conversation_count INT 蟇ケ隸晄<EFBFBD>? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -
deleted_at TIMESTAMP <EFBFBD>髯、譌カ髣エ<EFBFBD>郁スッ蛻<EFBFBD>髯、<EFBFBD>? -

*2. conversations<6E>亥ッケ隸晁。ィ<EFBDA1>?

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
project_id UUID 鬘ケ逶ョID 竊?aia_schema.projects(id)
agent_id VARCHAR(100) 譎コ閭ス菴的D -
title VARCHAR(255) 蟇ケ隸晄<EFBFBD><EFBFBD><EFBFBD> -
model_name VARCHAR(50) 讓。蝙句錐遘ー -
message_count INT 豸域<EFBFBD>謨? -
total_tokens INT 諤サToken謨? -
metadata JSONB <EFBFBD>焚謐? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -
deleted_at TIMESTAMP <EFBFBD>髯、譌カ髣エ -

*3. messages<65>域カ域<EFBDB6>陦ィ<E999A6>?

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
conversation_id UUID 蟇ケ隸扞D 竊?aia_schema.conversations(id)
role VARCHAR(20) 隗定牡<EFBFBD><EFBFBD>ser/assistant<6E>? -
content TEXT 豸域<EFBFBD><EFBFBD>ョケ -
model VARCHAR(50) 菴ソ逕ィ逧<EFBFBD>ィ。蝙? -
metadata JSONB <EFBFBD>焚謐? -
tokens INT Token謨? -
is_pinned BOOLEAN 譏ッ蜷ヲ鄂ョ鬘カ -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -

4. general_conversations<6E>€夂畑蟇ケ隸晁。ィ<EFBDA1><EFBDA8>

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
title VARCHAR(255) 蟇ケ隸晄<EFBFBD><EFBFBD><EFBFBD> -
model_name VARCHAR(50) 讓。蝙句錐遘ー -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -
deleted_at TIMESTAMP <EFBFBD>髯、譌カ髣エ -

5. general_messages<65>€夂畑豸域<E8B1B8>陦ィ<E999A6><EFBDA8>

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
conversation_id UUID 蟇ケ隸扞D 竊?aia_schema.general_conversations(id)
role VARCHAR(20) 隗定牡 -
content TEXT 豸域<EFBFBD><EFBFBD>ョケ -
model VARCHAR(50) 菴ソ逕ィ逧<EFBFBD>ィ。蝙? -
metadata JSONB <EFBFBD>焚謐? -
tokens INT Token謨? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -

*SQL DDL<44>?

CREATE SCHEMA IF NOT EXISTS aia_schema;

-- 1. projects
CREATE TABLE aia_schema.projects (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL, -- 蠑慕畑platform_schema.users
    name VARCHAR(255) NOT NULL,
    background TEXT DEFAULT '',
    research_type VARCHAR(50) DEFAULT 'observational',
    conversation_count INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE
);

-- 2. conversations
CREATE TABLE aia_schema.conversations (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    project_id UUID,
    agent_id VARCHAR(100) NOT NULL,
    title VARCHAR(255) NOT NULL,
    model_name VARCHAR(50) DEFAULT 'deepseek-v3',
    message_count INT DEFAULT 0,
    total_tokens INT DEFAULT 0,
    metadata JSONB,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE,
    FOREIGN KEY (project_id) REFERENCES aia_schema.projects(id) ON DELETE CASCADE
);

-- 3. messages
CREATE TABLE aia_schema.messages (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    conversation_id UUID NOT NULL,
    role VARCHAR(20) NOT NULL,
    content TEXT NOT NULL,
    model VARCHAR(50),
    metadata JSONB,
    tokens INT,
    is_pinned BOOLEAN DEFAULT false,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (conversation_id) REFERENCES aia_schema.conversations(id) ON DELETE CASCADE
);

-- 4. general_conversations
CREATE TABLE aia_schema.general_conversations (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    title VARCHAR(255) NOT NULL,
    model_name VARCHAR(50),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE
);

-- 5. general_messages
CREATE TABLE aia_schema.general_messages (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    conversation_id UUID NOT NULL,
    role VARCHAR(20) NOT NULL,
    content TEXT NOT NULL,
    model VARCHAR(50),
    metadata JSONB,
    tokens INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (conversation_id) REFERENCES aia_schema.general_conversations(id) ON DELETE CASCADE
);

-- 邏「蠑<EFBDA2>
CREATE INDEX idx_aia_projects_user_id ON aia_schema.projects(user_id);
CREATE INDEX idx_aia_projects_created_at ON aia_schema.projects(created_at);
CREATE INDEX idx_aia_conversations_user_id ON aia_schema.conversations(user_id);
CREATE INDEX idx_aia_conversations_project_id ON aia_schema.conversations(project_id);
CREATE INDEX idx_aia_messages_conversation_id ON aia_schema.messages(conversation_id);
CREATE INDEX idx_aia_general_conversations_user_id ON aia_schema.general_conversations(user_id);
CREATE INDEX idx_aia_general_messages_conversation_id ON aia_schema.general_messages(conversation_id);

3<EFBFBD>Ε pkb_schema<6D>井クェ莠コ遏・隸<EFBDA5>コ難シ俄ュ<E4BF84>

逕ィ騾費シ<EFBFBD> 遏・隸<EFBDA5>コ鍋ョ。逅<EFBDA1>€∵枚譯」邂。逅<EFBDA1>€∵音螟<E99FB3>炊莉サ蜉。

霑∫ァサ陦ィ<EFBFBD><EFBFBD> 5荳?

  • knowledge_bases - 莉?public.knowledge_bases 霑∫ァサ
  • documents - 莉?public.documents 霑∫ァサ
  • batch_tasks - 莉?public.batch_tasks 霑∫ァサ
  • batch_results - 莉?public.batch_results 霑∫ァサ
  • task_templates - 莉?public.task_templates 霑∫ァサ

陦ィ扈捺桷讎りァ?

1. knowledge_bases<65>育衍隸<E8A18D>コ楢。ィ<EFBDA1><EFBDA8>

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
name VARCHAR(255) 遏・隸<EFBFBD>コ灘錐遘? -
description TEXT 謠剰ソー -
dify_dataset_id VARCHAR(255) Dify遏・隸<EFBFBD>コ的D -
file_count INT <EFBFBD>サカ謨? -
total_size_bytes BIGINT 諤サ螟ァ蟆擾シ亥ュ苓鰍<EFBFBD>? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -

*2. documents<74>域枚譯」陦ィ<E999A6>? 箝?蛹<>性Phase 2蜈ィ譁<EFBDA8><E8AD81>隸サ蟄玲ョオ

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
kb_id UUID 遏・隸<EFBFBD>コ的D 竊?pkb_schema.knowledge_bases(id)
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
filename VARCHAR(255) <EFBFBD>サカ蜷? -
file_type VARCHAR(50) <EFBFBD>サカ邀サ蝙<EFBFBD> -
file_size_bytes BIGINT <EFBFBD>サカ螟ァ蟆<EFBFBD> -
file_url TEXT <EFBFBD>サカURL -
dify_document_id VARCHAR(255) Dify譁<EFBFBD>。」ID -
status VARCHAR(50) 迥カ諤? -
progress INT 霑帛コヲ<EFBFBD>?-100<30>? -
error_message TEXT 髞呵ッッ菫。諱ッ -
segments_count INT <EFBFBD>ョオ謨? -
tokens_count INT Token謨? -
*Phase 2蟄玲ョオ<EFBDAE>?
extraction_method VARCHAR(50) 謠仙叙譁ケ豕包シ<EFBFBD>ymupdf/nougat/mammoth/direct<63>? -
extraction_quality FLOAT 謠仙叙雍ィ驥擾シ?-1<>? -
char_count INT 蟄礼ャヲ謨? -
language VARCHAR(20) 隸ュ險€<EFBFBD><EFBFBD>hinese/english<73>? -
extracted_text TEXT 謠仙叙逧<EFBFBD>枚譛? -
uploaded_at TIMESTAMP 荳贋シ<EFBFBD>譌カ髣エ -
processed_at TIMESTAMP <EFBFBD>炊螳梧<EFBFBD>譌カ髣エ -

3. batch_tasks<6B>域音螟<E99FB3>炊莉サ蜉。陦ィ<E999A6><EFBDA8>

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
kb_id UUID 遏・隸<EFBFBD>コ的D 竊?pkb_schema.knowledge_bases(id)
name VARCHAR(255) 莉サ蜉。蜷咲ァー -
template_type VARCHAR(50) 讓。譚ソ邀サ蝙<EFBFBD> -
template_id VARCHAR(100) 讓。譚ソID -
prompt TEXT 謠千、コ隸? -
status VARCHAR(50) 迥カ諤? -
total_documents INT 諤サ譁<EFBFBD>。」謨ー -
completed_count INT 螳梧<EFBFBD>謨? -
failed_count INT 螟ア雍・謨? -
model_type VARCHAR(50) 讓。蝙狗アサ蝙<EFBFBD> -
concurrency INT 蟷カ蜿第<EFBFBD>? -
started_at TIMESTAMP 蠑€蟋区慮髣? -
completed_at TIMESTAMP 螳梧<EFBFBD>譌カ髣エ -
duration_seconds INT 謇ァ陦梧慮髟ソ<EFBFBD>育ァ抵シ? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -

4. batch_results<74>域音螟<E99FB3>炊扈捺棡陦ィ<E999A6><EFBDA8>

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
task_id UUID 莉サ蜉。ID 竊?pkb_schema.batch_tasks(id)
document_id UUID <EFBFBD>。」ID 竊?pkb_schema.documents(id)
status VARCHAR(50) 迥カ諤? -
data JSONB 扈捺桷蛹匁焚謐? -
raw_output TEXT 蜴溷ァ玖セ灘<EFBFBD> -
error_message TEXT 髞呵ッッ菫。諱ッ -
processing_time_ms INT <EFBFBD>炊譌カ髟ソ<EFBFBD>域ッォ遘抵シ<EFBFBD> -
tokens_used INT Token菴ソ逕ィ驥? -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -

*5. task_templates<65>井ササ蜉。讓。譚ソ陦ィ<E999A6>?

蟄玲ョオ蜷? 邀サ蝙<EFBFBD> 隸エ譏<EFBFBD> 螟夜醗
id UUID 荳サ髞ョ -
user_id UUID 逕ィ謌キID 竊?platform_schema.users(id)
name VARCHAR(255) 讓。譚ソ蜷咲ァー -
description TEXT 謠剰ソー -
prompt TEXT 謠千、コ隸? -
output_fields JSONB 霎灘<EFBFBD>蟄玲ョオ螳壻ケ<EFBFBD> -
is_public BOOLEAN 譏ッ蜷ヲ蜈ャ蠑€ -
created_at TIMESTAMP 蛻帛サコ譌カ髣エ -
updated_at TIMESTAMP 譖エ譁ー譌カ髣エ -

*SQL DDL<44>?

CREATE SCHEMA IF NOT EXISTS pkb_schema;

-- 1. knowledge_bases
CREATE TABLE pkb_schema.knowledge_bases (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    name VARCHAR(255) NOT NULL,
    description TEXT,
    dify_dataset_id VARCHAR(255) NOT NULL,
    file_count INT DEFAULT 0,
    total_size_bytes BIGINT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE
);

-- 2. documents (蛹<>性Phase 2蟄玲ョオ)
CREATE TABLE pkb_schema.documents (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    kb_id UUID NOT NULL,
    user_id UUID NOT NULL,
    filename VARCHAR(255) NOT NULL,
    file_type VARCHAR(50) NOT NULL,
    file_size_bytes BIGINT NOT NULL,
    file_url TEXT NOT NULL,
    dify_document_id VARCHAR(255) NOT NULL,
    status VARCHAR(50) DEFAULT 'uploading',
    progress INT DEFAULT 0,
    error_message TEXT,
    segments_count INT,
    tokens_count INT,
    -- Phase 2蟄玲ョオ
    extraction_method VARCHAR(50),
    extraction_quality FLOAT,
    char_count INT,
    language VARCHAR(20),
    extracted_text TEXT,
    uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    processed_at TIMESTAMP,
    
    FOREIGN KEY (kb_id) REFERENCES pkb_schema.knowledge_bases(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE
);

-- 3. batch_tasks
CREATE TABLE pkb_schema.batch_tasks (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    kb_id UUID NOT NULL,
    name VARCHAR(255) NOT NULL,
    template_type VARCHAR(50) NOT NULL,
    template_id VARCHAR(100),
    prompt TEXT NOT NULL,
    status VARCHAR(50) NOT NULL,
    total_documents INT NOT NULL,
    completed_count INT DEFAULT 0,
    failed_count INT DEFAULT 0,
    model_type VARCHAR(50) NOT NULL,
    concurrency INT DEFAULT 3,
    started_at TIMESTAMP,
    completed_at TIMESTAMP,
    duration_seconds INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE,
    FOREIGN KEY (kb_id) REFERENCES pkb_schema.knowledge_bases(id) ON DELETE CASCADE
);

-- 4. batch_results
CREATE TABLE pkb_schema.batch_results (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    task_id UUID NOT NULL,
    document_id UUID NOT NULL,
    status VARCHAR(50) NOT NULL,
    data JSONB,
    raw_output TEXT,
    error_message TEXT,
    processing_time_ms INT,
    tokens_used INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (task_id) REFERENCES pkb_schema.batch_tasks(id) ON DELETE CASCADE,
    FOREIGN KEY (document_id) REFERENCES pkb_schema.documents(id) ON DELETE CASCADE
);

-- 5. task_templates
CREATE TABLE pkb_schema.task_templates (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    name VARCHAR(255) NOT NULL,
    description TEXT,
    prompt TEXT NOT NULL,
    output_fields JSONB NOT NULL,
    is_public BOOLEAN DEFAULT false,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    
    FOREIGN KEY (user_id) REFERENCES platform_schema.users(id) ON DELETE CASCADE
);

-- 邏「蠑<EFBDA2>
CREATE INDEX idx_pkb_knowledge_bases_user_id ON pkb_schema.knowledge_bases(user_id);
CREATE INDEX idx_pkb_documents_kb_id ON pkb_schema.documents(kb_id);
CREATE INDEX idx_pkb_documents_user_id ON pkb_schema.documents(user_id);
CREATE INDEX idx_pkb_documents_status ON pkb_schema.documents(status);
CREATE INDEX idx_pkb_batch_tasks_user_id ON pkb_schema.batch_tasks(user_id);
CREATE INDEX idx_pkb_batch_tasks_kb_id ON pkb_schema.batch_tasks(kb_id);
CREATE INDEX idx_pkb_batch_results_task_id ON pkb_schema.batch_results(task_id);
CREATE INDEX idx_pkb_task_templates_user_id ON pkb_schema.task_templates(user_id);

<EFBFBD><EFBFBD>?荳ェ遨コSchema

蛻帛サコ遲也払 箝?

*蜿ェ謇ァ陦?CREATE SCHEMA<EFBFBD>御ク榊<EFBFBD>蟒コ陦ィ扈捺<EFBFBD>?

-- 4. AI譎コ閭ス譁<EFBDBD><EFBFBD><E98DB5>eek 3蜀崎ッヲ扈<EFBDA6>ョセ隶。<E99AB6><EFBDA1>
CREATE SCHEMA IF NOT EXISTS asl_schema;
COMMENT ON SCHEMA asl_schema IS 'AI譎コ閭ス譁<EFBDBD>鍵遲幃€画ィ。蝮?- Week 3蠑€蜿大燕蜀崎ョセ隶。陦ィ扈捺桷';

-- 5. 騾夂畑閭ス蜉帛アゑシ磯怙隕∵慮蜀榊<E89C80>蟒コ陦ィ<E999A6>?
CREATE SCHEMA IF NOT EXISTS common_schema;
COMMENT ON SCHEMA common_schema IS '騾夂畑閭ス蜉帛ア?- LLM菴ソ逕ィ隶ー蠖輔€eature Flags遲?;

-- 6. 謨ー謐ョ貂<EFBDAE>エ玲ィ。蝮<EFBDA1>
CREATE SCHEMA IF NOT EXISTS dc_schema;
COMMENT ON SCHEMA dc_schema IS '謨ー謐ョ貂<EFBFBD>エ怜キ・蜈キ讓。蝮<EFBFBD>';

-- 7. 螳。遞ソ邉サ扈滂シ亥桁蜷ォ邇ー譛詠eview_tasks陦ィ<E999A6><EFBDA8>
CREATE SCHEMA IF NOT EXISTS rvw_schema;
COMMENT ON SCHEMA rvw_schema IS '遞ソ莉カ螳。譟・邉サ扈滓ィ。蝮<EFBFBD>';

-- 8. 霑占是邂。逅<EFBDA1>シ亥桁蜷ォ邇ー譛餌dmin_logs陦ィ<E999A6><EFBDA8>
CREATE SCHEMA IF NOT EXISTS admin_schema;
COMMENT ON SCHEMA admin_schema IS '霑占是邂。逅<EFBFBD>錘蜿ー讓。蝮<EFBFBD>';

-- 9. 譎コ閭ス扈溯ョ。蛻<EFBDA1>CREATE SCHEMA IF NOT EXISTS ssa_schema;
COMMENT ON SCHEMA ssa_schema IS '譎コ閭ス扈溯ョ。蛻<EFBFBD>梵讓。蝮<EFBFBD>';

-- 10. 扈溯ョ。蛻<EFBDA1>梵蟾・蜈キ
CREATE SCHEMA IF NOT EXISTS st_schema;
COMMENT ON SCHEMA st_schema IS '扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ髮<EFBFBD>ィ。蝮?;

<EFBFBD>ゥコSchema逧<EFBFBD>畑騾?

Schema 逕ィ騾碑ッエ譏? 菴墓慮隶セ隶。陦ィ扈捺<EFBFBD>?
asl_schema AI譎コ閭ス譁<EFBFBD>鍵遲幃€? Week 3 Day 1 - ASL蠑€蜿大燕隸ヲ扈<EFBDA6>ョセ隶。
common_schema 騾夂畑閭ス蜉幢シ<EFBFBD>LM菴ソ逕ィ隶ー蠖輔€eature Flags<67>? 髴€隕∵慮蜀崎ョセ隶?
dc_schema 謨ー謐ョ貂<EFBFBD>エ怜キ・蜈キ Week 5+謌匁潔髴€
rvw_schema 遞ソ莉カ螳。譟・邉サ扈<EFBFBD> Week 1霑∫ァサreview_tasks<6B><EFBFBD>莉冶。ィ謖蛾怙
admin_schema 霑占是邂。逅<EFBFBD>錘蜿ー Week 1霑∫ァサadmin_logs<67><EFBFBD>莉冶。ィ謖蛾怙
ssa_schema 譎コ閭ス扈溯ョ。蛻<EFBFBD> Week 5+謌匁潔髴€
st_schema 扈溯ョ。蛻<EFBFBD>梵蟾・蜈キ髮? Week 5+謌匁潔髴€

霑∫ァサ遲也払

霑∫ァサ莨伜<EFBFBD>郤?

莨伜<EFBFBD>郤? Schema 陦ィ謨ー驥? 謨ー謐ョ驥丈シー邂? 霑∫ァサ譌カ髣エ
P0 platform_schema 1 ~10譚? 15蛻<EFBFBD>
P0 aia_schema 5 ~500譚? 30蛻<EFBFBD>
P0 pkb_schema 5 ~100譚? 30蛻<EFBFBD>
P1 rvw_schema 1<EFBFBD><EFBFBD>eview_tasks<EFBFBD>? ~20譚? 10蛻<EFBFBD>
P1 admin_schema 1<EFBFBD><EFBFBD>dmin_logs<EFBFBD>? ~50譚? 10蛻<EFBFBD>

霑∫ァサ豁・鬪、<EFBFBD>?豁・豕包シ?

*Step 1<><EFBFBD>蟒?0荳ェSchema<6D>?蛻<><EFBFBD>?

-- 謇ァ陦瑚<E999A6>譛ャ<E8AD9B>?01-create-all-10-schemas.sql
-- 蛻帛サコ10荳ェSchema<6D>?隸ヲ扈<EFBDA6>+7遨コ<E981A8><EFBDBA>

*Step 2<><EFBFBD>蟒コ陦ィ扈捺桷<E68DBA>?0蛻<30><EFBFBD>?

-- 謇ァ陦瑚<E999A6>譛ャ<E8AD9B>?
-- 002-migrate-platform.sql  - 蛻帛サコplatform_schema.users
-- 003-migrate-aia.sql       - 蛻帛サコaia_schema逧?荳ェ陦ィ
-- 004-migrate-pkb.sql       - 蛻帛サコpkb_schema逧?荳ェ陦ィ

*Step 3<>夊ソ∫ァサ謨ー謐ョ<E8AC90><EFBDAE>30蛻<30><EFBFBD>?

-- 菴ソ逕ィ INSERT INTO ... SELECT FROM 譁ケ蠑<EFBDB9>
-- 菫晄戟ID荳榊序<E6A68A>檎。ョ菫晏シ慕畑蜈ウ邉サ荳榊<E88DB3>?

*Step 4<>夐ェ瑚ッ<E7919A><EFBFBD>30蛻<30><EFBFBD>?

-- 謇ァ陦瑚<E999A6>譛ャ<E8AD9B>?05-validate-all.sql
-- 鬪瑚ッ∵焚謐ョ螳梧紛諤ァ縲∝、夜醗郤ヲ譚?

謨ー謐ョ霑∫ァサ遉コ萓<EFBFBD>

*platform_schema.users<72>?

INSERT INTO platform_schema.users 
SELECT * FROM public.users;

*aia_schema.projects<74>?

INSERT INTO aia_schema.projects 
SELECT * FROM public.projects;

*鬪瑚ッ<EFBFBD>シ?

-- 鬪瑚ッ∵焚謐ョ驥?
SELECT 'users' AS table_name, COUNT(*) FROM platform_schema.users
UNION ALL
SELECT 'projects', COUNT(*) FROM aia_schema.projects
UNION ALL
SELECT 'conversations', COUNT(*) FROM aia_schema.conversations;

邇ー譛芽。ィ蛻<EFBFBD><EFBFBD>譁ケ譯?

蠖灘燕public schema荳ュ逧<EFBDAD>13荳ェ陦ィ

# 陦ィ蜷<EFBFBD> 逶ョ譬⑳chema 霑∫ァサ譌カ譛コ 隸エ譏<EFBFBD>
1 users platform_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
2 projects aia_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
3 conversations aia_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
4 messages aia_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
5 general_conversations aia_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
6 general_messages aia_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
7 knowledge_bases pkb_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
8 documents pkb_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
9 batch_tasks pkb_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
10 batch_results pkb_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
11 task_templates pkb_schema Week 1 笨?P0譬ク蠢<EFBDB8>。?
12 review_tasks rvw_schema Week 1謌紋ソ晉<EFBDBF>? <EFBFBD>搭 P1蜿ッ騾?
13 admin_logs admin_schema Week 1謌紋ソ晉<EFBDBF>? <EFBFBD>搭 P1蜿ッ騾?

*隸エ譏趣シ?

  • 莨伜<EFBFBD>霑∫ァサ11荳ェ陦ィ蛻?荳ェ隸ヲ扈<EFBDA6>chema<6D><61>latform/AIA/PKB<4B>?
  • review_tasks蜥径dmin_logs蜿ッ莉・<EFBFBD>?
    • 騾蛾。ケA<EFBFBD>啗eek 1荳€蟷カ霑∫ァサ蛻ー蟇ケ蠎皮噪遨コSchema<6D>育ョ€蜊包シ<E58C85>
    • 騾蛾。ケB<EFBFBD>壽嘯譌カ菫晉蕗蝨ィpublic<EFBFBD>碁怙隕∵慮蜀崎ソ∫ァサ<EFBFBD>亥苅螳橸シ?
    • 蟒コ隶ョ騾蛾。ケA<EFBFBD>壻ク€谺。諤ァ霑∫ァサ螳梧<EFBFBD><EFBFBD>碁∩蜈肴ョ狗蕗

螟夜醗蜥瑚キィSchema蠑慕畑

PostgreSQL霍ィSchema螟夜醗謾ッ謖<EFBFBD> 笨?

PostgreSQL **螳悟<E89EB3>謾ッ謖<EFBDAF>**霍ィSchema逧<61>、夜醗郤ヲ譚滂シ<E6BB82>

-- 遉コ萓具シ啾ia_schema.projects 蠑慕畑 platform_schema.users
CREATE TABLE aia_schema.projects (
    id UUID PRIMARY KEY,
    user_id UUID NOT NULL,
    name VARCHAR(255),
    
    FOREIGN KEY (user_id) 
        REFERENCES platform_schema.users(id) 
        ON DELETE CASCADE
);

蠑慕畑隗<EFBFBD><EFBFBD>

笨?蜈∬ョク逧<EFBDB8>シ慕畑<E68595><E79591>

  • 荳壼苅讓。蝮祐chema 竊?platform_schema.users(id)
  • 蜷郡chema蜀<EFBFBD>噪陦ィ逶ク莠貞シ慕<EFBFBD>?

笶?遖∵ュ「逧<EFBDA2>シ慕畑<E68595><E79591>

  • platform_schema 竊?荳壼苅讓。蝮祐chema<6D>亥渚蜷台セ晁オ厄シ<E58E84>
  • 荳壼苅讓。蝮祐chema荵矩龍逶ク莠貞シ慕畑<EFBFBD>井ソ晄戟迢ャ遶区€<EFBFBD><EFBFBD>

謨ー謐ョ荳€閾エ諤ァ菫晁ッ?

  1. CASCADE蛻<EFBFBD>髯、 - 逕ィ謌キ蛻<EFBDB7>髯、譌カ<E8AD8C><EFBFBD>閨疲焚謐ョ閾ェ蜉ィ蛻<EFBDA8>髯、
  2. 螟夜醗邏「蠑<EFBFBD> - 謇€譛牙、夜醗蟄玲ョオ蛻帛サコ邏「蠑?
  3. 莠句苅菫晄侃 - 霑∫ァサ蝨ィ莠句苅荳ュ謇ァ陦鯉シ悟<EFBDBC>謌仙粥謌門<E8AC8C>螟ア雍・

Prisma驟咲スョ遲也払

Week 1逧Пrisma驟咲スョ

蝨ィschema.prisma荳ュ<E88DB3><EFBDAD>

  1. *蜷ッ逕ィmultiSchema鬚<EFBFBD>ァ育音諤?
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["multiSchema"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
  schemas  = [
    "platform_schema",
    "aia_schema",
    "pkb_schema",
    "asl_schema",      // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "common_schema",   // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "dc_schema",       // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "rvw_schema",      // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "admin_schema",    // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "ssa_schema",      // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
    "st_schema"        // 遨コSchema<6D>碁「<E7A281><EFBDA2>?
  ]
}
  1. 蜿ェ荳コ3荳ェ隸ヲ扈<EFBFBD>chema螳壻ケ画ィ。蝙<EFBFBD>
// Platform Schema
model User {
  // ...
  @@map("users")
  @@schema("platform_schema")
}

// AIA Schema
model Project {
  // ...
  @@map("projects")
  @@schema("aia_schema")
}

// PKB Schema
model KnowledgeBase {
  // ...
  @@map("knowledge_bases")
  @@schema("pkb_schema")
}
  1. *7荳ェ遨コSchema荳榊ョ壻ケ画ィ。蝙?
    • 蜿ェ蝨ィschemas蛻苓。ィ荳ュ螢ー譏?
    • Week 3蜀堺クコasl_schema豺サ蜉<EFBDBB>讓。蝙<EFBDA1>
    • 蜈カ莉匁潔髴€豺サ蜉<EFBFBD>

隸ヲ扈<EFBFBD>risma驟咲スョ蜿り€<EFBFBD><EFBFBD>

  • 隗〃2.2螳梧紛迚域枚譯」逧<EFBFBD> Day 4 Prisma驟咲スョ遉コ萓<EFBDBA>

<EFBFBD>投 蟾・菴憺㍼莨ー邂?

莉サ蜉。 <EFBFBD>ョ。譌カ髣エ 隸エ譏<EFBFBD>
Day 1-2荳雁壕<E99B81>壽楔譫<E6A594><EFBFBD><EFBDA7>荳手ョセ隶。 8蟆乗慮 譛ャ譁<EFBFBD>。?+ 3荳ェSchema SQL
*Day 2荳句壕<E58FA5>夂シ門<EFBDBC>霑∫ァサ閼壽<E996BC>? 1.5蟆乗慮 5荳ェSQL閼壽悽
*Day 3荳雁壕<E99B81>壽鴬陦瑚ソ∫ァ? 2-3蟆乗慮 <EFBFBD>サス + 霑∫ァサ + 鬪瑚ッ<E7919A>
*Day 3荳句壕<E58FA5>壼粥閭ス豬玖ッ? 2蟆乗慮 豬玖ッ慕鴫譛牙粥閭ス
Day 4<>啀risma驟咲スョ 3蟆乗慮 譖エ譁ーschema.prisma
諤サ隶。 郤?6-17蟆乗慮<E4B997>?螟ゥ<E89E9F><EFBDA9> 笨?

<EFBFBD>識 謌仙粥譬<E7B2A5>

Week 1扈捺據譌カ<E8AD8C>悟コ碑セセ蛻ー<E89BBB><EFBDB0>

  • 笨?10荳ェSchema蜈ィ驛ィ蛻帛サコ謌仙粥
  • 笨?3荳ェ隸ヲ扈<EFBDA6>chema逧?1荳ェ陦ィ謨ー謐ョ100%霑∫ァサ
  • 笨?謇€譛牙、夜醗郤ヲ譚滓ュ」遑ョ蟒コ遶?
  • 笨?邇ー譛牙粥閭ス<E996AD><EFBDBD>IA縲 ̄KB<4B>画ュ」蟶ク霑占。?
  • 笨?Prisma Client逕滓<E98095>謌仙粥
  • 笨?7荳ェ遨コSchema鬪瑚ッ<E7919A>€夊ソ<E5A48A>シ亥庄譟・隸「縲∝庄蛻帛サコ陦ィ<E999A6><EFBDA8>

<EFBFBD>統 蜷守サュ豁・鬪、

Week 2

  • 蜑咲ォッ扈滉ク€譫カ譫<EFBFBD>
  • 蜷守ォッ莉」遐∝<EFBFBD><EFBFBD>
  • 騾る<EFBFBD>譁ー逧Тchema扈捺桷

Week 3

  • 隸ヲ扈<EFBFBD>ョセ隶。asl_schema 箝?
  • 荳コasl_schema蛻帛サコ陦ィ扈捺<EFBFBD>?
  • €蜿羨SL譬ク蠢<EFBFBD>粥閭ス

Week 5+

  • 謖蛾怙荳コ蜈カ莉也ゥコSchema隶セ隶。陦ィ扈捺<EFBFBD>?
  • LLM鄂大<EFBFBD>扈滉ク€
  • 蜈カ莉匁ィ。蝮怜シ€蜿?

*<EFBFBD>。」蛻カ螳夲シ? AI蜉ゥ謇<EFBDA9>
*螳。譬ク<EFBFBD>?<>ョ。譬? €蜷取峩譁ー<EFBFBD><EFBFBD> 2025-11-09

譬ク蠢<EFBFBD>ュ也払<EFBFBD>夊★辟ヲ蠖灘<EFBFBD>?+ 譫カ譫<EFBDB6><EFBFBD>蕗 + Just-in-time隶セ隶。 箝絶ュ絶ュ?