1.1 KiB
1.1 KiB
Database CLI Tool Example
Complete database management CLI demonstrating:
- Command categories (Schema, Data, Admin)
- Before hook for connection validation
- After hook for cleanup
- Required and optional flags
- Environment variable fallbacks
Usage
# Set connection string
export DATABASE_URL="postgres://user:pass@localhost/mydb"
# Run migrations
dbctl migrate
dbctl migrate --direction down --steps 2
# Rollback
dbctl rollback
# Seed database
dbctl seed --file seeds/test-data.sql
# Backup and restore
dbctl backup --output backups/db-$(date +%Y%m%d).sql
dbctl restore --input backups/db-20240101.sql
# Admin tasks
dbctl status
dbctl vacuum
# Verbose output
dbctl -v migrate
Features Demonstrated
- Command Categories: Schema, Data, Admin
- Global Flags: --connection, --verbose
- Before Hook: Validates connection before any command
- After Hook: Closes connections after command completes
- Required Flags: backup/restore require file paths
- Environment Variables: DATABASE_URL fallback
- Flag Aliases: -v for --verbose, -d for --direction