|
| 1 | +# Dedicated Database — Console Feature Gaps |
| 2 | + |
| 3 | +Tracking file for all missing dedicated DB features in console vs cloud/edge/ddbs backends. |
| 4 | +**Status: ALL ITEMS COMPLETE** |
| 5 | + |
| 6 | +## Legend |
| 7 | +- [x] Done |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## 1. Enums & Types — ALL DONE |
| 12 | + |
| 13 | +- [x] `StorageClass` (ssd, nvme, hdd) |
| 14 | +- [x] `BackupType` (full, incremental, wal) |
| 15 | +- [x] `BackupStatusValue` (pending, running, completed, failed, verified) |
| 16 | +- [x] `BackupStorageProvider` (s3, gcs, azure) |
| 17 | +- [x] `RestorationType` (backup, pitr) |
| 18 | +- [x] `RestorationStatusValue` (pending, running, completed, failed) |
| 19 | +- [x] `HASyncMode` (async, sync, quorum) |
| 20 | +- [x] `ReplicaRole` (primary, standby, readReplica) |
| 21 | +- [x] `MaintenanceDay` (sun–sat) |
| 22 | +- [x] `DataResidency` (eu, us, apac, global) |
| 23 | +- [x] `KeyManagement` (appwriteKms, customerManaged) |
| 24 | +- [x] `UpgradePolicy` (autoMinor, manual, scheduled) |
| 25 | +- [x] `Capability` (24 capability flags) |
| 26 | +- [x] `DatabaseEngine` includes mongodb |
| 27 | +- [x] `DatabaseBackend` includes edge |
| 28 | +- [x] `PoolerMode` (transaction, session) |
| 29 | +- [x] `ConnectionRole` (readonly, readwrite) |
| 30 | + |
| 31 | +## 2. Properties on `DedicatedDatabase` Type — ALL DONE |
| 32 | + |
| 33 | +- [x] `projectId`, `externalIP`, `internalIP`, `lastActivityAt`, `idleUntil`, `networkPublicTcp` |
| 34 | +- [x] `storageAutoscaling`, `storageAutoscalingMaxGb`, `storageAutoscalingThresholdPercent` |
| 35 | +- [x] `securityEncryptionAtRest`, `securityKeyManagement`, `securityKeyRotationDays`, `securityCMKKeyId` |
| 36 | +- [x] `securityAuditLogEnabled`, `securityLogRetentionDays`, `securityDataResidency` |
| 37 | +- [x] `maintenanceWindowDay`, `maintenanceWindowHourUtc`, `maintenanceWindowDurationMinutes`, `maintenanceUpgradePolicy` |
| 38 | +- [x] `metricsSlowQueryLogThresholdMs`, `metricsTraceSampleRate`, `lastMetricsPollAt` |
| 39 | +- [x] `sqlApiEnabled`, `sqlApiAllowedStatements`, `sqlApiMaxBytes`, `sqlApiMaxRows`, `sqlApiTimeoutSeconds` |
| 40 | + |
| 41 | +## 3. SDK Methods — ALL 45 DONE |
| 42 | + |
| 43 | +- [x] Credential rotation, connections CRUD, active connections |
| 44 | +- [x] Extensions CRUD (PostgreSQL) |
| 45 | +- [x] Connection pooler (get, update, enable, disable) |
| 46 | +- [x] HA status, manual failover |
| 47 | +- [x] Cross-region (enable, disable, status, failover) |
| 48 | +- [x] Read replicas (create, list, delete, status) |
| 49 | +- [x] Backups (create, list, get, delete) |
| 50 | +- [x] Restorations (create from backup, create PITR, list, get) |
| 51 | +- [x] PITR windows |
| 52 | +- [x] Metrics, slow queries, performance insights, audit logs |
| 53 | +- [x] Storage resize, maintenance window, version upgrade |
| 54 | +- [x] Backup storage (configure, get, delete) |
| 55 | +- [x] Database status, migrate, set limits |
| 56 | + |
| 57 | +## 4. Response Types — ALL 25 DONE |
| 58 | + |
| 59 | +- [x] Backup, BackupList, Restoration, RestorationList |
| 60 | +- [x] HAStatus, HAStatusReplica, ReadReplica, ReadReplicaList |
| 61 | +- [x] CrossRegionStatus, PoolerConfig, BackupStorageConfig |
| 62 | +- [x] ActiveConnection, ActiveConnectionList, DatabaseMetrics |
| 63 | +- [x] PerformanceInsights (+Query, +WaitEvent), PITRWindows |
| 64 | +- [x] AuditLog, AuditLogList, SlowQuery, SlowQueryList |
| 65 | +- [x] DatabaseExtensions, DatabaseConnection, DatabaseConnectionList |
| 66 | +- [x] DatabaseStatusDetail (+Connections, +Replica, +Volume) |
| 67 | + |
| 68 | +## 5. UI — Overview Page — ALL DONE |
| 69 | + |
| 70 | +- [x] Storage Autoscaling, Security, Maintenance Window, SQL API, Monitoring sections |
| 71 | +- [x] `storageClass` in Resources, `externalIP`/`internalIP` in Connection |
| 72 | + |
| 73 | +## 6. UI — Settings Page — ALL 19 COMPONENTS DONE |
| 74 | + |
| 75 | +- [x] updateName, updateTier, updateStorage, updateNetwork |
| 76 | +- [x] updateMaintenance, updateBackups, updateAutoscaling, updatePooler |
| 77 | +- [x] rotateCredentials, upgradeVersion, dangerZone |
| 78 | +- [x] updateExtensions (PostgreSQL), updateConnections (database users) |
| 79 | +- [x] updateReadReplicas, updateCrossRegion, updateHAStatus |
| 80 | +- [x] updateBackupStorage, updateSecurity, updateSqlApi |
| 81 | + |
| 82 | +## 7. UI — Backup Management — ALL DONE |
| 83 | + |
| 84 | +- [x] dedicatedBackups.svelte (list, create, delete, restore, PITR) |
| 85 | +- [x] Integrated into backups/+page.svelte with type-conditional rendering |
| 86 | + |
| 87 | +## 8. UI — Monitoring Page — ALL DONE |
| 88 | + |
| 89 | +- [x] monitoring/+page.svelte + +page.ts |
| 90 | +- [x] Metrics dashboard, active connections, slow queries, performance insights, audit logs |
| 91 | + |
| 92 | +## 9. Navigation & Routing — ALL DONE |
| 93 | + |
| 94 | +- [x] Monitoring tab in database header |
| 95 | +- [x] Monitoring route loader |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## Files Changed Summary |
| 100 | + |
| 101 | +### New Files (28) |
| 102 | +- `settings/updateName.svelte` |
| 103 | +- `settings/updateTier.svelte` |
| 104 | +- `settings/updateStorage.svelte` |
| 105 | +- `settings/updateNetwork.svelte` |
| 106 | +- `settings/updateMaintenance.svelte` |
| 107 | +- `settings/updateBackups.svelte` |
| 108 | +- `settings/updateAutoscaling.svelte` |
| 109 | +- `settings/updatePooler.svelte` |
| 110 | +- `settings/rotateCredentials.svelte` |
| 111 | +- `settings/upgradeVersion.svelte` |
| 112 | +- `settings/dangerZone.svelte` |
| 113 | +- `settings/updateExtensions.svelte` |
| 114 | +- `settings/updateConnections.svelte` |
| 115 | +- `settings/updateReadReplicas.svelte` |
| 116 | +- `settings/updateCrossRegion.svelte` |
| 117 | +- `settings/updateHAStatus.svelte` |
| 118 | +- `settings/updateBackupStorage.svelte` |
| 119 | +- `settings/updateSecurity.svelte` |
| 120 | +- `settings/updateSqlApi.svelte` |
| 121 | +- `backups/dedicatedBackups.svelte` |
| 122 | +- `monitoring/+page.svelte` |
| 123 | +- `monitoring/+page.ts` |
| 124 | + |
| 125 | +### Modified Files (5) |
| 126 | +- `src/lib/sdk/dedicatedDatabases.ts` — Complete rewrite with all types, enums, and 45 SDK methods |
| 127 | +- `dedicatedOverview.svelte` — Added 5 new CardGrid sections + IP/storageClass fields |
| 128 | +- `settings/+page.svelte` — Rewritten with dedicated type branch + 19 sub-component imports |
| 129 | +- `header.svelte` — Added Monitoring tab |
| 130 | +- `backups/+page.svelte` — Added dedicated backups conditional |
| 131 | +- `src/lib/actions/analytics.ts` — Added Submit enum entries for new operations |
0 commit comments