-
Notifications
You must be signed in to change notification settings - Fork 2
Upgrade Guide
This guide helps you upgrade your D1 Manager metadata database to work with the latest version.
Note: This guide covers D1 Manager's internal metadata database upgrades. For migrating data between D1 databases, see Migration Wizard.
D1 Manager includes an automated upgrade system with an in-app banner:
- Launch the app - When schema updates are available, a yellow banner appears at the top of the page
- Click "Upgrade Now" - The system automatically applies all pending migrations
- Done! - A green success banner confirms the upgrade completed
The automated system:
- Detects legacy installations and handles them automatically
- Tracks applied migrations in a
schema_versiontable - Is idempotent (safe to run multiple times)
- Shows detailed error messages if something goes wrong
If you deployed D1 Manager before December 2025, you may need to run migrations. The in-app upgrade banner will automatically detect this.
If you're installing D1 Manager for the first time, no migration is needed - just use the main schema.sql.
If you prefer to run migrations manually via command line, or if the in-app upgrade isn't accessible:
wrangler d1 execute d1-manager-metadata --remote --file=worker/schema.sqlThis script is idempotent and safe to run multiple times.
The migration system tracks five migrations:
Base schema with databases, query_history, saved_queries, and undo_history tables.
Adds the bulk_jobs, job_audit_events, and bookmark_history tables for job tracking and Time Travel functionality.
Adds the database_colors and table_colors tables for visual organization with color tags.
Adds the webhooks table for external observability notifications.
Adds the scheduled_backups table for automated R2 backup schedules.
For detailed SQL of each migration, see worker/utils/migrations.ts in the source code.
Check the schema_version table to see applied migrations:
wrangler d1 execute d1-manager-metadata --remote --command="SELECT * FROM schema_version"You should see entries for each applied migration version (1-5).
- Refresh the page to re-check migration status
- Check the browser console for API errors
- Check the error message displayed in the banner
- Verify D1 database binding is correctly configured
- Try the manual migration command as a fallback
This is expected if you run migrations multiple times. The columns already exist, and the error is harmless.
Problem: Migration runs but changes don't appear
Possible Causes:
- Wrong database name
- Using
--localinstead of--remote(or vice versa)
Solution: Verify database name:
wrangler d1 listEnsure you're using the correct database name and flag (--remote for production, --local for development).
If you're running D1 Manager in Docker:
- The Docker container doesn't include Wrangler
- Run migrations from your local machine with Wrangler installed
- Restart the Docker container after migration
If you're installing D1 Manager for the first time, skip migrations and use the main schema:
wrangler d1 execute d1-manager-metadata --remote --file=worker/schema.sqlThis includes all migrations already.
For local development, the in-app migration system works the same way. Alternatively:
wrangler d1 execute d1-manager-metadata-dev --local --file=worker/schema.sql| Version | Name | Description |
|---|---|---|
| 1 | initial_schema | Base schema with databases, query_history, saved_queries, undo_history |
| 2 | job_history | Job tracking with bulk_jobs, job_audit_events, bookmark_history |
| 3 | color_tags | Visual organization with database_colors, table_colors |
| 4 | webhooks | External observability notifications |
| 5 | scheduled_backups | Automated R2 backup schedules |
If you encounter any issues with the migration, please open an issue on GitHub with:
- The error message
- Your database binding name
- Whether you're running in production (
--remote) or development (--local) - Output of
wrangler d1 list
- Installation - Set up D1 Manager
- Docker Deployment - Deploy with Docker
- Troubleshooting - Common issues
- Database Management
- R2 Backup Restore
- Scheduled Backups
- Table Operations
- Query Console
- Schema Designer
- Column Management
- Bulk Operations
- Job History
- Time Travel
- Read Replication
- Undo Rollback
- Foreign Key Visualizer
- ER Diagram
- Foreign Key Dependencies
- Foreign Key Navigation
- Circular Dependency Detector
- Cascade Impact Simulator
- AI Search
- FTS5 Full Text Search
- Cross Database Search
- Index Analyzer
- Database Comparison
- Database Optimization