Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .optimize-cache.json
Original file line number Diff line number Diff line change
Expand Up @@ -1455,6 +1455,14 @@
"static/images/docs/databases/dark/scale-custom-policies.png": "0013e987e9b8b917cb9be4c28048f851f2d188f3bfa5ff17a11a7ac7cf9c3ade",
"static/images/docs/databases/dark/scale-policies.png": "9ca9523f2e20e9aa993f0ad933cdf1dcd12adbaa35ecb2a0b8b3d2fd65877e1f",
"static/images/docs/databases/databases.png": "0278a6bc5672684653f74bcf3c0d022fdd82a08d7a7fd438b28e21bd81b5e5d5",
"static/images/docs/databases/documentsdb/backup-policy.png": "913cacbe957847f8a71efa2d2e704754e52cf9c276dce8978f6c473a9ba6595b",
"static/images/docs/databases/documentsdb/backups-tab.png": "231163729496618d26863c6fa7ad88069875f78a3c320033d4bddc3c2f8da376",
"static/images/docs/databases/documentsdb/create-database.png": "49ba017dcec96631a87f924b13b6b93478add7b516cc62947e87230b5a0d5de1",
"static/images/docs/databases/documentsdb/dark/backup-policy.png": "a29fad13b50374b3de55824f1332fa4be9c2c7a0c4c63f550d03306ffd546551",
"static/images/docs/databases/documentsdb/dark/backups-tab.png": "dedb6cfcdd9217e814e58cb14db3d8309f53e3071cb9f12edd9a0d5f9bad1d7c",
"static/images/docs/databases/documentsdb/dark/create-database.png": "fe4c1340226d31fb3fa1d655563c9c8fdd150b4d0aac3e217fdd2af40718c272",
"static/images/docs/databases/documentsdb/dark/manual-backup.png": "880f077a3a598c35c9939a1cfcab4bc82a2a88e730be1b4157359657f0a47dcd",
"static/images/docs/databases/documentsdb/manual-backup.png": "0f3432e170b68503b00fac4cf65ed7c5e5a04f34031b5011fe1c80f1eda2bf1a",
"static/images/docs/databases/manual-backup.png": "a5854158c5350e333ae14b699db4626c5c26e17b529f3acd137cfae8cb08e9c4",
"static/images/docs/databases/pro-policy.png": "b0d35de73c334614dc3f644459dea2bbc56d0da3157db985f24897597ae26302",
"static/images/docs/databases/restore.png": "97611c54c654631d2a86a8453a2ea3603c32e85888c065668e945eeeeb894df0",
Expand Down
146 changes: 141 additions & 5 deletions src/redirects.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,15 @@
},
{
"link": "/docs/databases-queries",
"redirect": "/docs/products/databases/queries"
"redirect": "/docs/products/databases/tablesdb/queries"
},
{
"link": "/docs/databases-pagination",
"redirect": "/docs/products/databases/pagination"
"redirect": "/docs/products/databases/tablesdb/pagination"
},
{
"link": "/docs/databases-relationships",
"redirect": "/docs/products/databases/relationships"
"redirect": "/docs/products/databases/tablesdb/relationships"
},
{
"link": "/docs/storage",
Expand Down Expand Up @@ -213,11 +213,11 @@
},
{
"link": "/docs/queries",
"redirect": "/docs/products/databases/queries"
"redirect": "/docs/products/databases/tablesdb/queries"
},
{
"link": "/docs/pagination",
"redirect": "/docs/products/databases/pagination"
"redirect": "/docs/products/databases/tablesdb/pagination"
},
{
"link": "/docs/webhooks",
Expand Down Expand Up @@ -915,5 +915,141 @@
{
"link": "/heroes",
"redirect": "/"
},
{
"link": "/docs/products/databases/ai-suggestions",
"redirect": "/docs/products/databases/tablesdb/ai-suggestions"
},
{
"link": "/docs/products/databases/atomic-numeric-operations",
"redirect": "/docs/products/databases/tablesdb/atomic-numeric-operations"
},
{
"link": "/docs/products/databases/backups",
"redirect": "/docs/products/databases/tablesdb/backups"
},
{
"link": "/docs/products/databases/bulk-operations",
"redirect": "/docs/products/databases/tablesdb/bulk-operations"
},
{
"link": "/docs/products/databases/csv-exports",
"redirect": "/docs/products/databases/tablesdb/csv-exports"
},
{
"link": "/docs/products/databases/csv-imports",
"redirect": "/docs/products/databases/tablesdb/csv-imports"
},
{
"link": "/docs/products/databases/databases",
"redirect": "/docs/products/databases/tablesdb/databases"
},
{
"link": "/docs/products/databases/geo-queries",
"redirect": "/docs/products/databases/tablesdb/geo-queries"
},
{
"link": "/docs/products/databases/legacy",
"redirect": "/docs/products/databases/tablesdb/legacy"
},
{
"link": "/docs/products/databases/legacy/atomic-numeric-operations",
"redirect": "/docs/products/databases/tablesdb/legacy/atomic-numeric-operations"
},
{
"link": "/docs/products/databases/legacy/bulk-operations",
"redirect": "/docs/products/databases/tablesdb/legacy/bulk-operations"
},
{
"link": "/docs/products/databases/legacy/collections",
"redirect": "/docs/products/databases/tablesdb/legacy/collections"
},
{
"link": "/docs/products/databases/legacy/databases",
"redirect": "/docs/products/databases/tablesdb/legacy/databases"
},
{
"link": "/docs/products/databases/legacy/documents",
"redirect": "/docs/products/databases/tablesdb/legacy/documents"
},
{
"link": "/docs/products/databases/legacy/order",
"redirect": "/docs/products/databases/tablesdb/legacy/order"
},
{
"link": "/docs/products/databases/legacy/pagination",
"redirect": "/docs/products/databases/tablesdb/legacy/pagination"
},
{
"link": "/docs/products/databases/legacy/permissions",
"redirect": "/docs/products/databases/tablesdb/legacy/permissions"
},
{
"link": "/docs/products/databases/legacy/queries",
"redirect": "/docs/products/databases/tablesdb/legacy/queries"
},
{
"link": "/docs/products/databases/legacy/quick-start",
"redirect": "/docs/products/databases/tablesdb/legacy/quick-start"
},
{
"link": "/docs/products/databases/legacy/relationships",
"redirect": "/docs/products/databases/tablesdb/legacy/relationships"
},
{
"link": "/docs/products/databases/legacy/type-generation",
"redirect": "/docs/products/databases/tablesdb/legacy/type-generation"
},
{
"link": "/docs/products/databases/offline",
"redirect": "/docs/products/databases/tablesdb/offline"
},
{
"link": "/docs/products/databases/operators",
"redirect": "/docs/products/databases/tablesdb/operators"
},
{
"link": "/docs/products/databases/order",
"redirect": "/docs/products/databases/tablesdb/order"
},
{
"link": "/docs/products/databases/pagination",
"redirect": "/docs/products/databases/tablesdb/pagination"
},
{
"link": "/docs/products/databases/permissions",
"redirect": "/docs/products/databases/tablesdb/permissions"
},
{
"link": "/docs/products/databases/queries",
"redirect": "/docs/products/databases/tablesdb/queries"
},
{
"link": "/docs/products/databases/quick-start",
"redirect": "/docs/products/databases/tablesdb/quick-start"
},
{
"link": "/docs/products/databases/relationships",
"redirect": "/docs/products/databases/tablesdb/relationships"
},
{
"link": "/docs/products/databases/rows",
"redirect": "/docs/products/databases/tablesdb/rows"
},
{
"link": "/docs/products/databases/tables",
"redirect": "/docs/products/databases/tablesdb/tables"
},
{
"link": "/docs/products/databases/timestamp-overrides",
"redirect": "/docs/products/databases/tablesdb/timestamp-overrides"
},
{
"link": "/docs/products/databases/transactions",
"redirect": "/docs/products/databases/tablesdb/transactions"
},
{
"link": "/docs/products/databases/type-generation",
"redirect": "/docs/products/databases/tablesdb/type-generation"
}
]
64 changes: 64 additions & 0 deletions src/routes/docs/products/databases/(overview)/+layout.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<script lang="ts">
import Docs from '$lib/layouts/Docs.svelte';
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';

let { children } = $props();

const parent: NavParent = {
href: '/docs',
label: 'Databases'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/products/databases'
}
]
},
{
label: 'Appwrite databases',
items: [
{
label: 'TablesDB',
href: '/docs/products/databases/tablesdb',
isParent: true
},
{
label: 'DocumentsDB',
href: '/docs/products/databases/documentsdb',
isParent: true
},
{
label: 'VectorsDB',
href: '/docs/products/databases/vectorsdb',
isParent: true
}
]
},
{
label: 'Native databases',
items: [
{
label: 'PostgreSQL',
href: '/docs/products/databases/postgresql',
isParent: true
},
{
label: 'MySQL',
href: '/docs/products/databases/mysql',
isParent: true
}
]
}
];
</script>

<Docs variant="two-side-navs">
<Sidebar {navigation} {parent} />

{@render children()}
</Docs>
40 changes: 40 additions & 0 deletions src/routes/docs/products/databases/(overview)/+page.markdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
layout: article
title: Databases
description: Store and query your application data with Appwrite Databases. Choose between Appwrite databases with managed APIs and dedicated native databases with direct access.
---

Appwrite Databases provide performant and scalable storage for your application, business, and user data. Choose the database that fits your use case, from managed APIs with permissions and realtime to dedicated native engines you connect to directly.

{% info title="Looking for file storage?" %}
Databases store data. If you need to store files like images, PDFs, or videos, use [Appwrite Storage](/docs/products/storage).
{% /info %}

# Appwrite databases {% #appwrite-databases %}

Managed databases with an Appwrite API on top, including permissions, indexes, queries, and realtime. Available on shared and dedicated infrastructure.

{% cards %}
{% cards_item href="/docs/products/databases/tablesdb" title="TablesDB" %}
Structured, relational data with typed columns, rows, relationships, and indexes.
{% /cards_item %}
{% cards_item href="/docs/products/databases/documentsdb" title="DocumentsDB" %}
Schemaless document storage for flexible, JSON-style data.
{% /cards_item %}
{% cards_item href="/docs/products/databases/vectorsdb" title="VectorsDB" %}
Store embeddings and run similarity search to power AI features.
{% /cards_item %}
{% /cards %}

# Native databases {% #native-databases %}

Native database engines provisioned for your project with direct connection access and no abstraction layer. Available on dedicated infrastructure.

{% cards %}
{% cards_item href="/docs/products/databases/postgresql" title="PostgreSQL" %}
A dedicated, native PostgreSQL database you connect to directly.
{% /cards_item %}
{% cards_item href="/docs/products/databases/mysql" title="MySQL" %}
A dedicated, native MySQL database you connect to directly.
{% /cards_item %}
{% /cards %}
91 changes: 91 additions & 0 deletions src/routes/docs/products/databases/documentsdb/+layout.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<script lang="ts">
import Docs from '$lib/layouts/Docs.svelte';
import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte';
let { children } = $props();
const parent: NavParent = {
href: '/docs/products/databases',
label: 'DocumentsDB'
};
Comment on lines +7 to +10

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 The parent.label for DocumentsDB is set to 'DocumentsDB' but the parent.href points to /docs/products/databases (the Databases overview). The Sidebar renders this label as a visible section heading above a back-arrow link. Every other database sub-product layout — tablesdb, mysql, postgresql, vectorsdb — correctly uses label: 'Databases' for this same parent href, so DocumentsDB users would see a confusing "DOCUMENTSDB" label where they'd expect "DATABASES".

Suggested change
const parent: NavParent = {
href: '/docs/products/databases',
label: 'DocumentsDB'
};
const parent: NavParent = {
href: '/docs/products/databases',
label: 'Databases'
};

const navigation: NavTree = [
{
label: 'Getting started',
items: [
{
label: 'Overview',
href: '/docs/products/databases/documentsdb'
},
{
label: 'Quick start',
href: '/docs/products/databases/documentsdb/quick-start'
}
]
},
{
label: 'Concepts',
items: [
{
label: 'Databases',
href: '/docs/products/databases/documentsdb/databases'
},
{
label: 'Collections',
href: '/docs/products/databases/documentsdb/collections'
},
{
label: 'Documents',
href: '/docs/products/databases/documentsdb/documents'
},
{
label: 'Permissions',
href: '/docs/products/databases/documentsdb/permissions'
},
{
label: 'Queries',
href: '/docs/products/databases/documentsdb/queries'
},
{
label: 'Order',
href: '/docs/products/databases/documentsdb/order'
},
{
label: 'Backups',
href: '/docs/products/databases/documentsdb/backups'
}
]
},
{
label: 'Journeys',
items: [
{
label: 'Pagination',
href: '/docs/products/databases/documentsdb/pagination'
},
{
label: 'Transactions',
href: '/docs/products/databases/documentsdb/transactions'
},
{
label: 'Bulk operations',
href: '/docs/products/databases/documentsdb/bulk-operations'
},
{
label: 'Atomic numeric operations',
href: '/docs/products/databases/documentsdb/atomic-numeric-operations'
},
{
label: 'Timestamp overrides',
href: '/docs/products/databases/documentsdb/timestamp-overrides'
}
]
}
];
</script>

<Docs variant="two-side-navs">
<Sidebar {navigation} {parent} />

{@render children()}
</Docs>
Loading