Files
egg e7a06e2b8f chore: Archive all pending OpenSpec proposals
Force archive the following proposals:
- add-audio-device-selector (complete)
- add-embedded-backend-packaging (19/26 tasks)
- add-flexible-deployment-options (20/21 tasks)

New specs created:
- audio-device-management (7 requirements)
- embedded-backend (8 requirements)

Updated specs:
- transcription (+2 requirements for model download progress)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 08:44:04 +08:00

1.8 KiB

Tasks: Add Flexible Deployment Options

1. Portable Extraction Path

  • 1.1 Update client/package.json - Add unpackDirName: "Meeting-Assistant" to portable config

2. Configuration Schema for SQLite

  • 2.1 Update client/config.json - Add database.type field (default: "mysql")
  • 2.2 Update client/config.json - Add database.sqlitePath field (default: "data/meeting.db")

3. Backend Configuration

  • 3.1 Update backend/app/config.py - Add DB_TYPE setting
  • 3.2 Update backend/app/config.py - Add SQLITE_PATH setting
  • 3.3 Update backend/run_server.py - Pass DB_TYPE and SQLITE_PATH to environment

4. Database Abstraction Layer

  • 4.1 Refactor backend/app/database.py - Create init_db() dispatcher function
  • 4.2 Implement init_sqlite() - SQLite connection with row_factory
  • 4.3 Implement init_mysql() - Keep existing MySQL pool logic
  • 4.4 Create unified get_db_cursor() context manager for both backends
  • 4.5 Add SQLite table creation statements (convert MySQL syntax)
  • 4.6 Add thread lock for SQLite connection safety

5. Build Script Integration

  • 5.1 Update scripts/build-client.bat - Add --database-type parameter parsing
  • 5.2 Update scripts/build-client.bat - Add update_config_database function
  • 5.3 Update help message with new parameter

6. Testing

  • 6.1 Test SQLite mode - Create meeting, query, update, delete
  • 6.2 Test MySQL mode - Ensure backward compatibility
  • 6.3 Test portable extraction to %TEMP%\Meeting-Assistant (requires Windows build)

7. Documentation

  • 7.1 Update DEPLOYMENT.md with SQLite mode instructions
  • 7.2 Update DEPLOYMENT.md with --database-type parameter
  • 7.3 Update DEPLOYMENT.md with portable extraction path info