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, fileCheck, attachedTo nein
tapedb/react useLive, useLivePage, usePresence, useBroadcast Peer
tapedb/worker defineTapeDB, Claim-Helfer nein

Die CLI ist ein Befehl, kein Import: starte sie mit npx tapedb.

Befehl tut
tapedb init [--dir] [--name] [--jurisdiction eu] [--force] Schreibt Schema, Worker, wrangler.jsonc, .dev.vars und die erste Migration. Bestehende Dateien bleiben erhalten, sofern nicht --force. --jurisdiction eu hält die Durable Objects und beide Buckets in der EU.
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, Datenresidenz und Migrationen und führt dann wrangler deploy aus.
tapedb export --workspace <uuid> [--url] [--out] Streamt jede Zeile, die der Claim lesen darf, als NDJSON.
tapedb erase --workspace <uuid> --confirm <uuid> [--url] Löscht einen Workspace endgültig: Daten, Verlauf und Dateien (Owner-Claim). Danach antwortet er mit 410.
  • Ein Cloudflare Worker mit einem Durable Object und zwei R2-Buckets; init generiert die Bindings.
  • Node.js 22.18 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.