docs: DB 작업 및 코드 수정 완료 상태 업데이트
- gmail_tokens.slack_id → slack_user_id 변경 완료 확인 - user_preferences 테이블 생성 완료 확인 - 뉴스 키워드 하드코딩 제거 코드 배포 완료 - 인덱스 생성 확인 (idx_gmail_tokens_slack_user_id) 모든 DB 작업과 코드 수정이 완료됨
This commit is contained in:
parent
49946c3649
commit
8c86ccbb68
@ -2,28 +2,32 @@
|
||||
|
||||
## 작성일: 2025-08-26 22:00
|
||||
## 작성자: 51124 서버 담당
|
||||
## 상태: 작업 필요
|
||||
## 상태: ✅ 모든 DB 작업 완료 / ✅ 코드 수정 완료
|
||||
## 영향: ID 일관성, 사용자 맞춤화
|
||||
## 최종 업데이트: 2025-08-27 00:10
|
||||
|
||||
---
|
||||
|
||||
## 1. Slack 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) |
|
||||
### ~~현재 상태~~ 해결됨
|
||||
| 테이블 | 이전 컬럼명 | 현재 컬럼명 | 타입 |
|
||||
|--------|------------|------------|------|
|
||||
| slack_user_mapping | slack_user_id | slack_user_id | VARCHAR(100) |
|
||||
| gmail_tokens | ~~slack_id~~ ❌ | **slack_user_id** ✅ | VARCHAR(100) |
|
||||
| conversation_logs | slack_user_id | slack_user_id | VARCHAR(100) |
|
||||
|
||||
### 해결 방안
|
||||
### ✅ 적용 완료
|
||||
|
||||
#### DB 스키마 변경
|
||||
#### ✅ DB 스키마 변경 완료
|
||||
```sql
|
||||
-- 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;
|
||||
-- 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; -- ✅
|
||||
|
||||
-- 인덱스도 생성됨
|
||||
CREATE INDEX idx_gmail_tokens_slack_user_id ON gmail_tokens(slack_user_id); -- ✅
|
||||
```
|
||||
|
||||
#### 코드 수정 필요
|
||||
@ -36,33 +40,34 @@ ALTER TABLE gmail_tokens DROP COLUMN slack_id;
|
||||
|
||||
---
|
||||
|
||||
## 2. 뉴스 키워드 하드코딩 문제
|
||||
## 2. 뉴스 키워드 하드코딩 문제 ✅ (완료)
|
||||
|
||||
### 현재 상태
|
||||
- rb8001이 `["AI", "기술", "IT"]`만 사용 (dm_skill.py:309)
|
||||
- 매일 같은 뉴스 반복
|
||||
### ~~현재 상태~~ 해결됨
|
||||
- ~~rb8001이 `["AI", "기술", "IT"]`만 사용 (dm_skill.py:309)~~
|
||||
- ~~매일 같은 뉴스 반복~~
|
||||
|
||||
### 해결 방안: user_preferences 테이블
|
||||
### ✅ 구현 완료: user_preferences 테이블 (생성 확인됨)
|
||||
|
||||
```sql
|
||||
CREATE TABLE user_preferences (
|
||||
CREATE TABLE user_preferences ( -- ✅ 테이블 생성 완료
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id UUID REFERENCES users(id),
|
||||
slack_user_id VARCHAR(100),
|
||||
news_keywords VARCHAR(128)[], -- 뉴스 키워드
|
||||
email_filter VARCHAR(128)[], -- 이메일 필터
|
||||
news_keywords VARCHAR(128)[], -- ✅ 배열 타입 적용됨
|
||||
email_filter VARCHAR(128)[], -- ✅ 배열 타입 적용됨
|
||||
briefing_enabled BOOLEAN DEFAULT true,
|
||||
briefing_time TIME DEFAULT '09:00',
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
```
|
||||
|
||||
### rb8001 코드 수정
|
||||
- dm_skill.py의 get_news_content() 메서드에서 사용자별 키워드 조회
|
||||
- 하드코딩된 ["AI", "기술", "IT"] 대신 user_preferences 테이블에서 조회
|
||||
- 없으면 기본값 사용
|
||||
### ✅ rb8001 코드 수정 완료 (커밋: aed931e, 7103599)
|
||||
- dm_skill.py의 get_news_content() 메서드에서 사용자별 키워드 조회 구현
|
||||
- _get_user_news_keywords() 메서드 추가
|
||||
- user_preferences 테이블에서 조회, 없으면 기본값 사용
|
||||
- send_daily_summary_dm()에서 사용자별 뉴스 제공
|
||||
|
||||
### 슬랙 명령어 설계
|
||||
### ⏳ 슬랙 명령어 설계 (추후 구현 예정)
|
||||
|
||||
#### 일반 메시지 명령어
|
||||
- **설정**: "@로빙 뉴스 키워드 설정: 삼성, 반도체, AI"
|
||||
@ -85,4 +90,28 @@ CREATE TABLE user_preferences (
|
||||
|
||||
---
|
||||
|
||||
*작성: 2025-08-26 22:00*
|
||||
## 3. 작업 완료 요약
|
||||
|
||||
### ✅ 완료된 작업
|
||||
1. **Slack ID 컬럼명 통일** (2025-08-27 DB 확인)
|
||||
- gmail_tokens.slack_id → slack_user_id 변경 완료
|
||||
- 인덱스 idx_gmail_tokens_slack_user_id 생성됨
|
||||
|
||||
2. **user_preferences 테이블 생성** (2025-08-27 DB 확인)
|
||||
- 테이블 존재 확인됨
|
||||
- news_keywords, email_filter 배열 타입 적용됨
|
||||
|
||||
3. **뉴스 키워드 하드코딩 제거** (2025-08-26 21:00)
|
||||
- rb8001/app/skills/dm_skill.py 수정 완료
|
||||
- 사용자별 맞춤 키워드 설정 가능
|
||||
- Git 커밋: aed931e (기능), 7103599 (프롬프트)
|
||||
- Gitea Actions 자동 배포 완료
|
||||
|
||||
### ⏳ 보류/예정 작업
|
||||
1. **슬랙 명령어 구현** - 사용자가 직접 키워드 설정 가능하도록
|
||||
2. **프론트엔드 UI** - ActivityPanel에서 키워드 관리
|
||||
|
||||
---
|
||||
|
||||
*작성: 2025-08-26 22:00*
|
||||
*최종 업데이트: 2025-08-27 00:00*
|
||||
Loading…
x
Reference in New Issue
Block a user