-
-
-
-
-
-
+
+
+
+ (connectionTab = 'direct')}
+ active={connectionTab === 'direct'}>
+ Direct Connection
+
+ (connectionTab = 'string')}
+ active={connectionTab === 'string'}>
+ Connection String
+
+
+
-
+ {#if connectionTab === 'direct'}
+
+
+
+
+
+
+
+ {:else}
+
+
+
+
+ Terminal Command
+
+
+
+
+ {/if}
-
-
-
{:else if database.status === 'provisioning'}
- Connection Settings
+ Connection
-
+
Your database is being set up. Connection details will be available once
provisioning is complete.
@@ -264,53 +302,69 @@
{/if}
-
+
Resources
+ Your database configuration and allocated resources.
-
-
-
- Engine
- {getEngineDisplayName(database.engine)}
- {database.version}
-
-
- Tier
- {database.tier.charAt(0).toUpperCase() +
- database.tier.slice(1)}
-
-
- CPU
- {cpuDisplay}
-
-
- Memory
- {memoryDisplay}
-
-
- Storage
- {storageDisplay}
-
-
- Storage Class
- {database.storageClass}
-
-
-
+
+
+
+ Engine
+
+
+ {getEngineDisplayName(database.engine)} {database.version}
+
+
+
+
+ Tier
+
+
+ {capitalizeFirst(database.tier)}
+
+
+
+
+ Backend
+
+
+ {capitalizeFirst(database.backend)}
+
+
+
+
+ CPU
+
+ {cpuDisplay}
+
+
+
+ Memory
+
+ {memoryDisplay}
+
+
+
+ Storage
+
+ {storageDisplay}
+
+
-
-
- High Availability
-
-
-
+
+ {#if !isPrisma}
+
+ High Availability
+ Configure replicas and failover settings for your database.
+
+
- Status
+
+ Status
+
{#if database.highAvailability}
- Replica Count
- {database.haReplicaCount}
+
+ Replicas
+
+
+ {database.haReplicaCount}
+
{#if database.haSyncMode}
- Sync Mode
- {database.haSyncMode}
+
+ Sync Mode
+
+
+ {capitalizeFirst(database.haSyncMode)}
+
{/if}
{/if}
-
-
-
+
+
+ {/if}
-
-
- Network
-
-
-
-
- Max Connections
- {database.networkMaxConnections}
-
-
- Idle Timeout
- {database.networkIdleTimeoutSeconds}s
-
- {#if database.idleTimeoutMinutes}
+
+ {#if !isPrisma}
+
+ Network
+ Connection limits and network configuration.
+
+
+
- Sleep After Idle
- {database.idleTimeoutMinutes} min
+
+ Max Connections
+
+
+ {database.networkMaxConnections}
+
+
+
+
+ Idle Timeout
+
+
+ {database.networkIdleTimeoutSeconds}s
+
+
+ {#if database.idleTimeoutMinutes}
+
+
+ Sleep After Idle
+
+
+ {database.idleTimeoutMinutes} min
+
+
+ {/if}
+
+
+ {#if database.networkIPAllowlist?.length > 0}
+
+
+ IP Allowlist
+
+
+ {#each database.networkIPAllowlist as ip}
+
+ {/each}
+
{/if}
-
+
+
+
+ {/if}
- {#if database.networkIPAllowlist?.length > 0}
-
- IP Allowlist
-
- {#each database.networkIPAllowlist as ip}
- {ip}
- {/each}
-
-
- {/if}
-
-
-
-
-
+
Backups
+ Automatic backup and point-in-time recovery settings.
-
-
+
+
+
+ Automatic Backups
+
+
+
+ {#if database.backupEnabled}
- Status
+
+ Point-in-Time Recovery
+
+ content={database.backupPitr ? 'Enabled' : 'Disabled'} />
- {#if database.backupEnabled}
-
- Point-in-Time Recovery
-
-
-
- Schedule
- {database.backupCron}
-
-
- Retention
- {database.backupRetentionDays} days
-
- {/if}
-
-
+
+
+ Schedule
+
+ {database.backupCron}
+
+
+
+ Retention
+
+
+ {database.backupRetentionDays} days
+
+
+ {/if}
+
-
-
diff --git a/src/routes/(console)/project-[region]-[project]/databases/store.ts b/src/routes/(console)/project-[region]-[project]/databases/store.ts
index d503891d3..5c57731f0 100644
--- a/src/routes/(console)/project-[region]-[project]/databases/store.ts
+++ b/src/routes/(console)/project-[region]-[project]/databases/store.ts
@@ -23,8 +23,15 @@ export const columns = writable
(
]
);
-export function getDatabaseTypeTitle(database: Models.Database) {
+export function getDatabaseTypeTitle(database: Models.Database & { engine?: string }) {
switch (database.type as DatabaseType) {
+ case 'prisma':
+ return 'Prisma Postgres';
+ case 'dedicated': {
+ const engine = database.engine || 'postgres';
+ const engineName = engine === 'postgres' ? 'PostgreSQL' : engine === 'mysql' ? 'MySQL' : engine;
+ return `Dedicated ${engineName}`;
+ }
default:
case 'legacy':
case 'tablesdb':