Skip to content

Dedicated DB#2914

Draft
abnegate wants to merge 226 commits intomainfrom
feat-dedicated-db
Draft

Dedicated DB#2914
abnegate wants to merge 226 commits intomainfrom
feat-dedicated-db

Conversation

@abnegate
Copy link
Copy Markdown
Member

@abnegate abnegate commented Mar 12, 2026

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for Dedicated Databases with comprehensive management features including monitoring, backups, restorations, and Point-in-Time Recovery.
    • Introduced database creation wizard supporting multiple database types (TablesDB, DocumentsDB, Prisma, Dedicated).
    • Added NoSQL document editor with syntax highlighting and real-time validation.
    • New monitoring dashboard displaying metrics, connections, slow queries, and performance insights.
    • Implemented High Availability, cross-region failover, and read replica management.
  • Improvements

    • Enhanced backup configuration with automated policies and PITR windows.
    • Added database scaling, connection pooling, and performance tuning options.

abnegate added 30 commits March 30, 2026 23:28
…ed-db

# Conflicts:
#	bun.lock
#	package.json
#	src/lib/actions/analytics.ts
#	src/lib/stores/sdk.ts
#	src/routes/(console)/project-[region]-[project]/databases/+page.svelte
#	src/routes/(console)/project-[region]-[project]/databases/create.svelte
#	src/routes/(console)/project-[region]-[project]/databases/create/+page.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/helpers/sdk.ts
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/helpers/terminology.ts
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/create.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/(suggestions)/empty.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/+layout.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/backups/createPolicy.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/(components)/editor/view.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+page.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/edit.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/createColumn.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/spreadsheet.svelte
#	src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts
#	src/routes/(console)/project-[region]-[project]/databases/empty.svelte
- Add explicit dedicateddb cases to updateEntity, createIndex, deleteIndex
- Split useDatabaseSdk into useDatabaseSdkFromPage and useDatabaseSdkFromParams
- Replace Promise.all with Promise.allSettled in list() to handle backend failures gracefully
- Fix dedicatedAsDatabases mapping: derive enabled from status, preserve engine/tier/region
- URI-encode credentials in connection strings to prevent malformation
- Shell-quote passwords in MySQL CLI commands
- Fix hardcoded 'postgres' database name for MySQL/MariaDB engines
- Replace setTimeout invalidation with immediate await invalidate
- Extract shared getEngineDisplayName and tier config to dedicated.ts
- Replace local capitalizeFirst with existing capitalize helper
- Replace bracket-notation SDK calls with ts-expect-error annotated dot notation
- Import shared getEngineDisplayName instead of local duplicate
- Fix version string comparison with numeric parsing
- Filter dedicateddb from databaseTypes for self-hosted instances
- Hide dedicated DB cards in empty state when not cloud
- Default create wizard to tablesdb for self-hosted
- Disable dedicated-only header tabs for self-hosted
- Fix null as DatabaseType cast and selectedEngine typing
- Replace serial try/catch DB detection with parallel Promise.allSettled
- Make page.params reactive with \$derived to prevent stale values
- Guard monitoring effect to only reload on database ID change
- Remove no-op active connections tab and fake data
# Conflicts:
#	CLAUDE.md
#	bun.lock
#	package.json
#	src/routes/(console)/project-[region]-[project]/databases/+page.svelte
#	src/routes/(console)/project-[region]-[project]/settings/usage/[[invoice]]/+page.svelte
- Fix positional args in cross-region and backup storage SDK calls
- Escape shell metacharacters in connection commands
- Fix $effect infinite retry loops in monitoring lazy-load sections
- Add error notifications to silent monitoring loaders
- Add previousId tracking to backups and branches $effect blocks
- Use Type enum for backup type instead of string literals
- Add missing Submit/Click analytics enum members
- Replace raw string trackEvent calls with enum members
- Use trackError for error analytics paths
- Remove dead isShared code in dedicated overview
- Fix database type string from 'dedicated' to 'dedicateddb'
- Refresh cross-region status after failover to prevent stale UI
- Use isActive derived for connection section visibility
- Guard against array arguments in Compute proxy
…branch

- Switch SDK from custom commit to pkg.vc preview build
- Remove local Compute proxy, enum definitions, and type stubs
- Import all dedicated DB types and enums from @appwrite.io/console
- Fix property names to match SDK models (durationMs, clientAddress, etc.)
- Remove usage type extensions (SDK now includes realtime/screenshot props)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants