A comprehensive VS Code extension that provides a complete database dump and restore solution with Docker integration, modern React UI, and FastAPI backend - all running seamlessly within VS Code.
⚠️ Prerequisites (IMPORTANT)
🐳 Docker Required
- Docker Desktop: Must be installed and running on your system
- Download: Docker Desktop
- The extension CANNOT function without Docker as it runs containerized services
- Docker Compose: v2.0 or higher (usually included with Docker Desktop)
⚡ Quick Docker Check
Before installing, verify Docker is working:
docker --version
docker-compose --version
🔧 Make sure Docker Desktop is running before starting the extension, or you'll see connection errors.
✨ Features
🚀 Database Operations
- Easy Setup: Start the entire application with a single button click
- Intuitive UI: Modern React interface accessible directly from VS Code sidebar
- Multiple Database Support: PostgreSQL, MySQL, MongoDB, Redis, SQLite
- Docker Integration: Fully containerized environment with Docker Compose
📊 Smart Management
- Real-time Status: Live monitoring of all services (Frontend, Backend, Database)
- Configuration Management: Save, edit, and reuse database configurations
- Batch Operations: Handle multiple dump/restore operations efficiently
- Error Handling: Comprehensive error reporting and recovery options
🔧 VS Code Integration
- Sidebar Integration: All controls accessible from VS Code activity bar
- Extension Status: Real-time service monitoring and health checks
- Quick Actions: Start, stop, and manage services with single clicks
🚀 Installation
Step 1: Install Docker (Required)
- Download and install Docker Desktop
- Start Docker Desktop and ensure it's running
- Verify installation by running:
docker --version
in terminal
Step 2: Install Extension
- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "Database Dump & Restore Tool"
- Click Install
Step 3: Verify Installation
- Look for the Database icon in VS Code activity bar
- Click on it to open the extension panel
- You should see the "Start Application" button
🎯 Quick Start
Before You Begin
⚠️ Ensure Docker Desktop is running - Check that Docker Desktop is started and running on your system.
1. Activate Extension
- Click on the Database icon in the VS Code activity bar
- The extension panel will open in the sidebar
2. Start Application
- Click "Start Application" button
- First run may take 5-10 minutes as Docker downloads and builds containers
- Watch the status indicators - they'll turn green when services are ready
- If you see errors, check that Docker Desktop is running
3. Access Full UI
- Wait for all services to show as "Running" (green indicators)
- Click "Open Full UI" to launch the React interface
- Create and manage your database configurations
- Perform dump and restore operations
4. Monitor & Control
- Use the sidebar to monitor service status (Frontend, Backend, Database)
- Start/stop services as needed
- Click "Refresh Status" to update service information
Troubleshooting First Run
- "Docker not running" error: Start Docker Desktop
- Containers won't start: Check Docker Desktop has enough resources allocated
- Port conflicts: Ensure ports 3001, 8001, 5433 are available
- Long startup time: First run downloads images - subsequent starts are faster
📖 Usage Guide
Creating Database Configurations
- Open the full UI from the sidebar
- Click "Add New Configuration"
- Fill in database details:
- Database type (PostgreSQL, MySQL, etc.)
- Connection details (host, port, credentials)
- Configuration name for easy identification
- Select a saved configuration
- Choose dump options (tables, schema, data)
- Specify output location
- Click "Start Dump Process"
- Monitor progress in real-time
Restoring Databases
- Select target configuration
- Choose dump file to restore
- Configure restore options
- Execute restore operation
- Verify completion status
Understanding Docker Services
The extension automatically manages these Docker containers:
- Frontend Container: React UI for database operations
- Backend Container: FastAPI server handling database operations
- Database Container: PostgreSQL instance for configuration storage
All services run in isolated Docker containers for security and consistency across different systems.
Supported Databases
The extension supports the following database types:
- PostgreSQL: Full dump and restore capabilities
- MySQL: Complete database operations
- MongoDB: Document database support
- Redis: Key-value store operations
- SQLite: Local database file operations
🤝 Contributing
We welcome contributions! Please feel free to submit issues and feature requests.
📄 License
This project is licensed under the MIT License.
🔧 Troubleshooting
Common Docker Issues
"Docker not running" Error
- Solution: Start Docker Desktop application
- Check: Look for Docker icon in system tray/menu bar
- Verify: Run
docker --version
in terminal
"Port already in use" Error
- Solution: Stop other applications using the required ports
- Check: Run
docker ps
to see running containers
Containers Won't Start
- Memory: Ensure Docker has at least 4GB RAM allocated
- Disk Space: Check available disk space for Docker
- Reset: Try
docker system prune
to clean up unused containers
Slow First Startup
- Normal: First run downloads ~500MB of Docker images
- Subsequent: Starts much faster (30-60 seconds)
- Progress: Check Docker Desktop for download progress
Extension Not Responding
- Reload: Press
Cmd+R
(Mac) or Ctrl+R
(Windows) to reload VS Code window
- Restart: Stop extension, restart Docker Desktop, try again
- Logs: Check "Dump & Restore Tool" output channel in VS Code
System Requirements
- Docker Desktop: Must have at least 4GB RAM allocated
- Disk Space: At least 2GB free space for Docker images
- Network: Internet connection required for first-time image downloads
🐛 Issues & Support
- Docker Issues: See troubleshooting section above
- Bug Reports: Please report issues through VS Code marketplace or GitHub
- Feature Requests: Submit feature requests through appropriate channels
🎉 What's New
Version 1.0.5
- 🎊 Initial release
- ✅ Full Docker integration
- ✅ React UI with modern design
- ✅ FastAPI backend
- ✅ Multiple database support (PostgreSQL, MySQL, MongoDB, Redis, SQLite)
- ✅ Real-time status monitoring
- ✅ Configuration management
🙏 Acknowledgments
- Powered by React, FastAPI, Docker, and VS Code Extension API
- Thanks to the open-source community for inspiration and tools
Happy Database Management! 🚀
If you find this extension useful, please leave a review on the VS Code Marketplace!