DOCS/troubleshooting/250826_slack_id_column_standardization.md
Claude-51124 faa9ce7ba9 docs: 문서 전면 재작성 및 간소화
- 제목 변경: ID 체계 표준화 및 사용자 설정 시스템
- 핵심 2가지 문제와 해결책만 정리
- 불필요한 내용 모두 제거
- 65줄로 압축
2025-08-26 22:14:51 +09:00

1.7 KiB

ID 체계 표준화 및 사용자 설정 시스템

작성일: 2025-08-26 22:00

작성자: 51124 서버 담당

상태: 작업 필요

영향: ID 일관성, 사용자 맞춤화


1. Slack ID 컬럼명 불일치

현재 상태

테이블 컬럼명 타입
slack_user_mapping slack_user_id VARCHAR(100)
gmail_tokens slack_id VARCHAR(100)
conversation_logs slack_user_id VARCHAR(100)

해결 방안

-- gmail_tokens 컬럼명 변경
ALTER TABLE gmail_tokens ADD COLUMN slack_user_id VARCHAR(100);
UPDATE gmail_tokens SET slack_user_id = slack_id;
ALTER TABLE gmail_tokens DROP COLUMN slack_id;

2. 뉴스 키워드 하드코딩 문제

현재 상태

  • rb8001이 ["AI", "기술", "IT"]만 사용 (dm_skill.py:309)
  • 매일 같은 뉴스 반복

해결 방안: user_preferences 테이블

CREATE TABLE user_preferences (
    id SERIAL PRIMARY KEY,
    user_id UUID REFERENCES users(id),
    slack_user_id VARCHAR(100),
    news_keywords TEXT[],  -- 뉴스 키워드
    email_filter TEXT[],   -- 이메일 필터
    briefing_enabled BOOLEAN DEFAULT true,
    briefing_time TIME DEFAULT '09:00',
    updated_at TIMESTAMP DEFAULT NOW()
);
# rb8001/dm_skill.py 수정
async def get_user_keywords(slack_user_id: str) -> List[str]:
    db = SessionLocal()
    result = db.execute(
        text("SELECT news_keywords FROM user_preferences WHERE slack_user_id = :sid"),
        {"sid": slack_user_id}
    ).fetchone()
    return result[0] if result else ["AI", "기술", "IT"]

프론트엔드 연동

  • ActivityPanel 설정 UI 활용 (250825 문서 참조)
  • Gateway API로 user_preferences CRUD 구현

작성: 2025-08-26 22:00