Skip to main content
Glama
10_PRD_DATABASE_PATH_RESOLUTION.md1.83 kB
# PRD 데이터베이스 경로 문제 해결 방안 ## 문제 상황 - **오류**: `SQLITE_CANTOPEN: unable to open database file` - **원인**: MCP 서버와 대시보드가 서로 다른 실행 위치에서 동일한 SQLitePRDStorage.js 사용 - **현재 경로 설정**: `path.resolve(process.cwd(), '..', 'data', 'workflow.db')` ## 경로 분석 결과 ### 현재 실행 환경별 경로 ``` MCP 서버 (프로젝트 루트 실행): - CWD: C:\dev\workflow-mcp - 계산된 DB 경로: C:\dev\data\workflow.db ❌ (존재하지 않음) 대시보드 (dashboard 디렉토리 실행): - CWD: C:\dev\workflow-mcp\dashboard - 계산된 DB 경로: C:\dev\workflow-mcp\data\workflow.db ✅ (정상) ``` ## 해결 방안 ### Zero Configuration 원칙 적용 **현재 파일 위치 기준 상대경로 사용** ```javascript // dashboard/src/lib/server/SQLitePRDStorage.js constructor() { const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // dashboard/src/lib/server/ -> project root (4단계 상위) this.dbPath = path.resolve(__dirname, '../../../../data/workflow.db'); this.db = null; console.log('SQLite PRD Storage - Database path:', this.dbPath); } ``` ### 장점 - ✅ MCP 서버/대시보드 양쪽에서 동일하게 작동 - ✅ GitHub 클론 후 별도 설정 없이 즉시 실행 - ✅ 프로젝트 폴더 이동 시에도 자동 대응 - ✅ Docker/배포 환경에서 안정적 동작 ## 적용 대상 - **파일**: `dashboard/src/lib/server/SQLitePRDStorage.js` - **사용처**: MCP 서버 (`src/index.js`) 및 대시보드 공통 사용 ## 검증 완료 - MCP 서버 경로: `dashboard/src/lib/server/PRDManager.js` → `SQLitePRDStorage.js` - 대시보드 경로: 동일 파일 사용 - 양쪽 환경에서 정확한 DB 경로 계산 확인 완료

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/foswmine/workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server