Company-X FK 문제 해결 - companies 테이블 레코드 추가
This commit is contained in:
parent
dec98bf0b8
commit
42c2660c4d
@ -1,7 +1,7 @@
|
|||||||
# PostgreSQL 테이블 구조
|
# PostgreSQL 테이블 구조
|
||||||
|
|
||||||
## 작성일: 2025-08-20
|
## 작성일: 2025-08-20
|
||||||
## 최종 수정일: 2025-08-24
|
## 최종 수정일: 2025-09-02
|
||||||
## 데이터베이스: main_db
|
## 데이터베이스: main_db
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -103,14 +103,95 @@
|
|||||||
| id | UUID | NO | gen_random_uuid() | 매핑 ID |
|
| id | UUID | NO | gen_random_uuid() | 매핑 ID |
|
||||||
| slack_user_id | VARCHAR(100) | NO | | Slack User ID (U로 시작) |
|
| slack_user_id | VARCHAR(100) | NO | | Slack User ID (U로 시작) |
|
||||||
| slack_workspace_id | UUID | YES | | Slack 워크스페이스 ID (FK → slack_workspaces) |
|
| slack_workspace_id | UUID | YES | | Slack 워크스페이스 ID (FK → slack_workspaces) |
|
||||||
| user_id | UUID | NO | | 시스템 사용자 ID (FK → users) |
|
| user_id | UUID | YES | | 시스템 사용자 ID (FK → users) |
|
||||||
| workspace_member_id | UUID | YES | | 워크스페이스 멤버 ID (FK → workspace_members) |
|
| workspace_member_id | UUID | YES | | 워크스페이스 멤버 ID (FK → workspace_members) |
|
||||||
| created_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 생성 시각 |
|
| created_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 생성 시각 |
|
||||||
| updated_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 수정 시각 |
|
| updated_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 수정 시각 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 4. Gmail 관련 테이블
|
## 4. 로빙 관련 테이블
|
||||||
|
|
||||||
|
### robeing_stats
|
||||||
|
- **용도**: 로빙 통계 및 레벨 정보
|
||||||
|
- **Primary Key**: id (SERIAL)
|
||||||
|
- **Unique**: robeing_id
|
||||||
|
|
||||||
|
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
||||||
|
|--------|------|------|--------|------|
|
||||||
|
| id | SERIAL | NO | | 자동 증가 ID |
|
||||||
|
| user_id | UUID | YES | | 사용자 ID (FK → users) |
|
||||||
|
| robeing_id | VARCHAR(50) | NO | | 로빙 ID (UNIQUE) |
|
||||||
|
| name | VARCHAR(100) | YES | | 로빙 이름 |
|
||||||
|
| level | INTEGER | YES | 1 | 레벨 |
|
||||||
|
| experience | INTEGER | YES | 0 | 경험치 |
|
||||||
|
| memory | INTEGER | YES | 10 | 메모리 스탯 |
|
||||||
|
| compute | INTEGER | YES | 10 | 연산 스탯 |
|
||||||
|
| react | INTEGER | YES | 10 | 반응 스탯 |
|
||||||
|
| empathy | INTEGER | YES | 10 | 공감 스탯 |
|
||||||
|
| leadership | INTEGER | YES | 10 | 리더십 스탯 |
|
||||||
|
| created_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 생성 시각 |
|
||||||
|
| updated_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 수정 시각 |
|
||||||
|
|
||||||
|
### robeing_settings
|
||||||
|
- **용도**: 로빙 설정 정보
|
||||||
|
- **Primary Key**: 미확인 (테이블 구조 확인 필요)
|
||||||
|
|
||||||
|
### user_preferences
|
||||||
|
- **용도**: 사용자 개인 설정
|
||||||
|
- **Primary Key**: id (SERIAL)
|
||||||
|
|
||||||
|
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
||||||
|
|--------|------|------|--------|------|
|
||||||
|
| id | SERIAL | NO | | 자동 증가 ID |
|
||||||
|
| user_id | UUID | YES | | 사용자 ID (FK → users) |
|
||||||
|
| slack_user_id | VARCHAR(100) | YES | | Slack 사용자 ID |
|
||||||
|
| news_keywords | VARCHAR(128)[] | YES | | 뉴스 키워드 배열 |
|
||||||
|
| email_filter | VARCHAR(128)[] | YES | | 이메일 필터 배열 |
|
||||||
|
| briefing_enabled | BOOLEAN | YES | true | 브리핑 활성화 여부 |
|
||||||
|
| briefing_time | TIME | YES | 09:00:00 | 브리핑 시간 |
|
||||||
|
| updated_at | TIMESTAMP | YES | now() | 수정 시각 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 대화 및 로그 테이블
|
||||||
|
|
||||||
|
### conversation_logs
|
||||||
|
- **용도**: 로빙 대화 기록
|
||||||
|
- **Primary Key**: id (SERIAL)
|
||||||
|
|
||||||
|
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
||||||
|
|--------|------|------|--------|------|
|
||||||
|
| id | SERIAL | NO | | 자동 증가 ID |
|
||||||
|
| robeing_id | VARCHAR | YES | | 로빙 ID |
|
||||||
|
| channel_id | VARCHAR | YES | | 채널 ID |
|
||||||
|
| message | VARCHAR | YES | | 사용자 메시지 |
|
||||||
|
| response | VARCHAR | YES | | 로빙 응답 |
|
||||||
|
| intent | VARCHAR | YES | | 인텐트 분류 |
|
||||||
|
| confidence | DOUBLE PRECISION | YES | | 신뢰도 점수 |
|
||||||
|
| timestamp | TIMESTAMP | YES | | 대화 시각 |
|
||||||
|
| user_id | UUID | YES | | 사용자 ID (FK → users) |
|
||||||
|
| slack_user_id | VARCHAR(100) | YES | | Slack 사용자 ID |
|
||||||
|
| thread_ts | VARCHAR(128) | YES | | Slack 스레드 타임스탬프 |
|
||||||
|
| channel_type | VARCHAR(32) | YES | | 채널 타입 |
|
||||||
|
|
||||||
|
### gmail_audit_logs
|
||||||
|
- **용도**: Gmail 작업 감사 로그
|
||||||
|
- **Primary Key**: id (SERIAL)
|
||||||
|
|
||||||
|
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|
||||||
|
|--------|------|------|--------|------|
|
||||||
|
| id | SERIAL | NO | | 자동 증가 ID |
|
||||||
|
| user_id | VARCHAR(100) | YES | | 사용자 ID |
|
||||||
|
| robeing_id | VARCHAR(50) | YES | | 로빙 ID |
|
||||||
|
| action | VARCHAR(50) | YES | | 실행 액션 |
|
||||||
|
| success | BOOLEAN | YES | | 성공 여부 |
|
||||||
|
| details | JSONB | YES | | 상세 정보 |
|
||||||
|
| created_at | TIMESTAMP | YES | CURRENT_TIMESTAMP | 생성 시각 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Gmail 관련 테이블
|
||||||
|
|
||||||
### gmail_tokens
|
### gmail_tokens
|
||||||
- **용도**: Gmail OAuth 토큰 저장
|
- **용도**: Gmail OAuth 토큰 저장
|
||||||
|
|||||||
@ -181,14 +181,20 @@ im:read, im:history, users:read, team:read, files:read, app_mentions:read
|
|||||||
- workspace_id: 99d22d6b-d327-4fa4-bd2f-d228c11056e2
|
- workspace_id: 99d22d6b-d327-4fa4-bd2f-d228c11056e2
|
||||||
- 총 8명: company-x.partners(6) + sigong-ip.com(2)
|
- 총 8명: company-x.partners(6) + sigong-ip.com(2)
|
||||||
- info@company-x.partners: OWNER role
|
- info@company-x.partners: OWNER role
|
||||||
- **봇 설치 실패**: Foreign Key 에러 (companies 테이블 없음)
|
- ~~**봇 설치 실패**: Foreign Key 에러~~ → **해결 완료**
|
||||||
|
|
||||||
### 5.5 최종 이슈 (해결 필요)
|
### 5.5 최종 이슈 (✅ 해결 완료)
|
||||||
|
|
||||||
**Foreign Key 문제:**
|
**Foreign Key 문제 해결:**
|
||||||
- 모델: `ForeignKey("companies.id")` 참조
|
- 모델: `ForeignKey("companies.id")` 참조
|
||||||
- 실제 DB: companies 테이블 없음, workspaces 테이블 존재
|
- ~~실제 DB: companies 테이블 없음~~ → **companies 테이블 존재 확인됨**
|
||||||
- 기존 2개 레코드도 잘못된 company_id 참조 중
|
- 해결 내용:
|
||||||
- 해결 방법:
|
1. companies 테이블에 Company-X 레코드 추가 (ID: 99d22d6b-d327-4fa4-bd2f-d228c11056e2)
|
||||||
1. DB 마이그레이션 (company_id → workspace_id, FK 수정)
|
2. 기존 slack_workspaces 레코드의 company_id 업데이트 완료
|
||||||
2. 또는 모델에서 ForeignKey 제거
|
3. Foreign Key 제약 조건 정상 작동
|
||||||
|
|
||||||
|
**최종 DB 상태 (2025-09-02 20:40):**
|
||||||
|
- companies 테이블: Company-X (8001 포트, active 상태)
|
||||||
|
- workspaces 테이블: Company-X (8명 멤버)
|
||||||
|
- slack_workspaces: T097FCTDVEX → Company-X 연결 완료
|
||||||
|
- 봇 설치 준비 완료
|
||||||
Loading…
x
Reference in New Issue
Block a user