Zum Inhalt springen

Einrichtung und Entry-Points

tapedb init richtet eine Durable-Object-Klasse und zwei R2-Buckets in deinem eigenen Cloudflare-Account ein. Es schreibt außerdem tapedb.schema.ts, den Worker, die Wrangler-Konfiguration und die erste Migration.

Terminal-Fenster
npx tapedb init

tapedb dev startet eine lokale Datenbank mit einer Development-Claim-Route, damit der Client beim Entwickeln keine Session braucht. tapedb studio öffnet einen lokalen Tabellenbrowser unter http://127.0.0.1:4400.

Terminal-Fenster
npx tapedb dev
npx tapedb studio

Der generierte Worker deklariert drei Ressourcen: eine Durable-Object-Klasse, den DATA-R2-Bucket für Logsegmente und Snapshots und den FILES-R2-Bucket für Uploads. Es gibt keine D1-Datenbank. Mitgliedschaften und Sessions bleiben in deinem Identity-System; die Engine liest einen Workspace-Claim.

import enthält React
tapedb createClient, Schema-Builder, id keine Runtime-Deps
tapedb/schema schema, model, t, role, filter, check nein
tapedb/react useLive, useLivePage, usePresence, useBroadcast Peer
tapedb/worker defineTapeDB, die Durable-Object-Klasse nein
tapedb/cli init, migrate, dev, studio, deploy nein
Befehl tut
tapedb init [--dir] [--name] [--force] Schreibt Schema, Worker, wrangler.jsonc, .dev.vars und die erste Migration. Bestehende Dateien bleiben erhalten, sofern nicht --force.
tapedb dev [--dir] [--port] Startet die lokale Datenbank mit wrangler dev (Standardport 8787).
tapedb studio [--url] [--workspace] [--port] Öffnet einen lokalen Tabellenbrowser (Standardport 4400).
tapedb migrate dev --name <name> [--rename old=new] [--accept-data-loss] [--dir] [--schema] Schreibt die nächste Migration.
tapedb migrate status | check [--dir] [--schema] Listet Migrationen; check schlägt bei nicht migrierten Schemaänderungen fehl.
tapedb deploy [--env] Prüft ENVIRONMENT, Dev-Claims und Migrationen und führt dann wrangler deploy aus.
tapedb export --workspace <uuid> [--url] [--out] Streamt den Workspace als NDJSON.
  • Ein Cloudflare Worker mit einem Durable Object und zwei R2-Buckets; init generiert die Bindings.
  • Node.js 20 oder höher für die CLI.
  • React 19 (optional) für tapedb/react; der Core-Entry bleibt React-frei und hat keine Runtime-Abhängigkeiten.

MIT.

Weiter: das Schema definieren oder wie du Migrationen deployst.