Skip to content

docs: add Convex migration guide#5536

Open
clockwork-labs-bot wants to merge 1 commit into
masterfrom
docs/convex-migration-guide
Open

docs: add Convex migration guide#5536
clockwork-labs-bot wants to merge 1 commit into
masterfrom
docs/convex-migration-guide

Conversation

@clockwork-labs-bot

Copy link
Copy Markdown
Contributor

Description of Changes

Adds a new migration guide for teams moving applications from Convex to SpacetimeDB.

The guide includes:

  • A Convex-to-SpacetimeDB terminology map.
  • Migration guidance for tables, queries, mutations, actions, HTTP actions, auth, scheduled work, files, and components.
  • TypeScript examples for reducers, tables, views, and auth-oriented user tables.
  • A checklist and common pitfalls section.

API and ABI breaking changes

None. Documentation-only change.

Expected complexity level and risk

  1. Documentation-only change.

Testing

  • Ran pnpm build in docs/.
  • Confirmed the build succeeds; only existing freshness/llms-txt warnings were emitted.

| Project | Project plus module source tree | A SpacetimeDB project contains module code, generated bindings, and client code. |
| Deployment | Database | A published SpacetimeDB module creates or updates a database on Maincloud or a self-hosted host. |
| Backend | Database plus module | Your module contains tables and callable functions that run inside the database. |
| `convex/` directory | Module source directory | TypeScript templates usually put module code in `spacetimedb/src/index.ts`. Rust, C#, and C++ use their normal project layouts. |

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.

I think we can just say spacetimedb directory.

| `convex/` directory | Module source directory | TypeScript templates usually put module code in `spacetimedb/src/index.ts`. Rust, C#, and C++ use their normal project layouts. |
| `schema.ts` | Table definitions in module code | SpacetimeDB schema is declared in the module language using [tables](/docs/tables). |
| `defineSchema` | `schema(...)` or language-specific module schema | In TypeScript, pass tables to `schema({ tableName })`. |
| `defineTable` | Table | Tables store rows and define columns, constraints, indexes, visibility, and optional scheduling. |

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.

Should this be the table() function?

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.

2 participants