docs: slack_channel 테이블 마이그레이션 파일 plans에서 제거, 트러블슈팅 문서에 DB 스키마 추가
This commit is contained in:
parent
d8e1bdeaf3
commit
69555ebcb7
@ -1,53 +0,0 @@
|
|||||||
-- Slack 채널 정보 저장 테이블 생성
|
|
||||||
-- 작성일: 2025-12-06
|
|
||||||
-- 목적: Slack 워크스페이스별 채널 정보 및 robeing CRUD 권한 관리
|
|
||||||
-- 마이그레이션 파일 위치: auth-server/migrations/add_slack_channel_table.sql
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS slack_channel (
|
|
||||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
||||||
slack_workspace_id UUID NOT NULL REFERENCES slack_workspace(id) ON DELETE CASCADE,
|
|
||||||
channel_id VARCHAR(32) NOT NULL, -- Slack 채널 ID (예: C09C98KK2TT)
|
|
||||||
channel_name VARCHAR(255) NOT NULL, -- 채널명 (예: company-x-전체)
|
|
||||||
is_private BOOLEAN NOT NULL DEFAULT false, -- 비공개 채널 여부
|
|
||||||
is_archived BOOLEAN NOT NULL DEFAULT false, -- 아카이브 여부
|
|
||||||
is_member BOOLEAN NOT NULL DEFAULT false, -- robeing 봇이 멤버인지
|
|
||||||
robeing_can_read BOOLEAN NOT NULL DEFAULT false, -- 읽기 가능 여부
|
|
||||||
robeing_can_create BOOLEAN NOT NULL DEFAULT false, -- 전송 가능 여부
|
|
||||||
robeing_can_update BOOLEAN NOT NULL DEFAULT false, -- 수정 가능 여부
|
|
||||||
robeing_can_delete BOOLEAN NOT NULL DEFAULT false, -- 삭제 가능 여부 (현재 미구현)
|
|
||||||
status VARCHAR(32) DEFAULT 'active', -- active, inactive 등
|
|
||||||
metadata JSONB, -- 추가 메타데이터 (용도, 설명 등)
|
|
||||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
||||||
UNIQUE(slack_workspace_id, channel_id) -- 워크스페이스 내 채널 ID 중복 방지
|
|
||||||
);
|
|
||||||
|
|
||||||
-- 인덱스 생성
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_slack_channel_workspace ON slack_channel(slack_workspace_id);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_slack_channel_channel_id ON slack_channel(channel_id);
|
|
||||||
CREATE INDEX IF NOT EXISTS idx_slack_channel_status ON slack_channel(status);
|
|
||||||
|
|
||||||
-- updated_at 자동 업데이트 트리거
|
|
||||||
CREATE OR REPLACE FUNCTION update_slack_channel_updated_at()
|
|
||||||
RETURNS TRIGGER AS $$
|
|
||||||
BEGIN
|
|
||||||
NEW.updated_at = NOW();
|
|
||||||
RETURN NEW;
|
|
||||||
END;
|
|
||||||
$$ LANGUAGE plpgsql;
|
|
||||||
|
|
||||||
CREATE TRIGGER trigger_update_slack_channel_updated_at
|
|
||||||
BEFORE UPDATE ON slack_channel
|
|
||||||
FOR EACH ROW
|
|
||||||
EXECUTE FUNCTION update_slack_channel_updated_at();
|
|
||||||
|
|
||||||
-- 코멘트 추가
|
|
||||||
COMMENT ON TABLE slack_channel IS 'Slack 워크스페이스별 채널 정보 및 robeing CRUD 권한 관리';
|
|
||||||
COMMENT ON COLUMN slack_channel.slack_workspace_id IS 'slack_workspace 테이블 참조';
|
|
||||||
COMMENT ON COLUMN slack_channel.channel_id IS 'Slack 채널 ID (예: C09C98KK2TT)';
|
|
||||||
COMMENT ON COLUMN slack_channel.channel_name IS '채널명 (예: company-x-전체)';
|
|
||||||
COMMENT ON COLUMN slack_channel.robeing_can_read IS 'robeing 봇이 채널 메시지 읽기 가능 여부';
|
|
||||||
COMMENT ON COLUMN slack_channel.robeing_can_create IS 'robeing 봇이 채널에 메시지 전송 가능 여부';
|
|
||||||
COMMENT ON COLUMN slack_channel.robeing_can_update IS 'robeing 봇이 채널 메시지 수정 가능 여부';
|
|
||||||
COMMENT ON COLUMN slack_channel.robeing_can_delete IS 'robeing 봇이 채널 메시지 삭제 가능 여부 (현재 미구현)';
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user