CommunitySchreiben & Editierengithub.com

table studio app/plugins

Richte lokale Entwicklungsdatenbanken auf dem Mac des Benutzers ein und verwalte sie mit TableStudio. Verwende dies, wenn ein Projekt eine lokale Postgres-, MySQL-, ClickHouse- oder SQLite-Datenbank oder eine DATABASE_URL benötigt; wenn eine lokale Datenbank Verbindungen verweigert oder gestoppt ist (ECONNREFUSED, „connection refused“, „could not connect to server“, „Can't connect to MySQL server“); wenn der Benutzer eine Test- oder Experimentierdatenbank oder eine sichere Kopie zum Ausprobieren wünscht; oder wenn eine PostgreSQL-Erweiterung (pgvector, PostGIS, pg_trgm) installiert werden muss.

Was ist plugins?

TableStudio ist ein Tool zur Verwaltung lokaler Datenbanken auf dem Mac, das für Entwickler entwickelt wurde, die mit AI-Agenten wie Claude Code arbeiten. Es ermöglicht das einfache Einrichten, Starten und Stoppen von Postgres-, MySQL-, ClickHouse- und SQLite-Datenbanken und stellt sofort einsatzbereite Verbindungs-URLs bereit. Bei „Connection Refused“-Fehlern identifiziert es, ob der Server gestoppt ist oder der Port von einem anderen Prozess belegt wird – der Entwickler kann dann gezielt den Server starten. Für sicheres Experimentieren erstellt TableStudio Sandboxen, die entweder nur das Schema, Beispieldaten oder generierte Daten enthalten. PostgreSQL-Erweiterungen wie pgvector oder PostGIS können auf Knopfdruck installiert werden. TableStudio arbeitet sowohl mit eigenen als auch mit von Homebrew oder Postgres.app übernommenen Servern und stellt sicher, dass alle Verbindungen in der Benutzeroberfläche des Entwicklers als gespeicherte Verbindungen erscheinen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tablestudioapp/plugins/tree/HEAD/tablestudio/skills/local-databases

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Lokale Datenbanken mit TableStudio

TableStudio verwaltet Datenbankserver auf diesem Mac, einschließlich solcher, die es von Homebrew oder Postgres.app übernommen hat. Bevorzuge seine Werkzeuge gegenüber selbstgebauten Docker-Befehlen oder initdb, da das Ergebnis in der App des Benutzers als gespeicherte Verbindung erscheint.

„Verbindung abgelehnt“ bei einer lokalen Datenbank

  1. connection_status (ohne Argumente meldet es jede Verbindung). Es führt keine Abfrage aus, funktioniert also, während die Datenbank ausfällt, und gibt an, ob ein lokaler Server die Verbindung unterstützt und ob dieser Server läuft.
  2. Wenn der Server gestoppt ist, rufe start_local_database mit der zurückgegebenen instance_id auf. Es ist sicher, dies aufzurufen, wenn der Server bereits läuft.
  3. Wenn der Port von etwas anderem belegt ist, nennt der Fehler den Belegenden. Informiere den Benutzer, anstatt Prozesse zu beenden.

list_local_databases zeigt alles Lokale an: verwaltete Server, übernommene, SQLite-Dateien und Server, die TableStudio nicht verwaltet, aber einen Port belegen. Beachte die zwei IDs: instance_id ist der Server (Start und Stopp verwenden sie), und connection_id ist die Datenbank, die du abfragst. Sie sind nicht austauschbar.

Eine neue Datenbank

create_local_database mit einem name und einem engine:

  • sqlite benötigt keine Installation und ist sofort einsatzbereit. Bevorzuge es, wenn der Benutzer nur einen Ort zum Speichern von Daten haben möchte.
  • postgres, mysql und clickhouse benötigen, dass die Server-Binärdateien dieser Engine bereits auf dem Mac vorhanden sind. TableStudio bündelt keine, und das Tool meldet dies, wenn sie fehlen. Gib den Installationshinweis weiter, anstatt Software ungefragt zu installieren.

Es gibt eine connection_id zurück, die bereit ist, über die Tools von TableStudio abgefragt zu werden, sowie env_line (DATABASE_URL=…) für das Projekt selbst. Dann:

  1. Überprüfe, ob .gitignore die zu verwendende Env-Datei (.env, .env.local) abdeckt. Wenn nicht, füge sie dort zuerst hinzu.
  2. Setze env_line in diese Datei, unter Verwendung des Variablennamens, den das Projekt bereits liest (DATABASE_URL oder wie auch immer die Konfiguration erwartet).
  3. Führe die Migrationen des Projekts (und ggf. das Seeding) dagegen aus.

Wiederhole den Verbindungsstring niemals im Chat und schreibe ihn niemals in Code, Dokumentation oder einen Commit.

Rufe stop_local_database nicht als Aufräumaktion oder zum Freigeben eines Ports auf, es sei denn, der Benutzer hat darum gebeten. Es trennt alles, was diesen Server verwendet, einschließlich der eigenen Fenster des Benutzers.

Der Verbindungsstring einer vorhandenen lokalen Datenbank

Wenn das Projekt eine lokale Datenbank erreichen muss, die TableStudio bereits kennt (um eine fehlende .env zu ergänzen oder Tests auf eine Sandbox auszurichten), rufe get_connection_url mit ihrer connection_id auf und verwende env_line wie oben.

  • Von TableStudio erstellte Datenbanken, Sandboxen und lokale Datenbanken ohne Passwort sind immer verfügbar.
  • Eine lokale Verbindung, die der Benutzer mit einem eigenen Passwort gespeichert hat, wird nur geteilt, wenn er dies erlaubt hat. Andernfalls nennt die Verweigerung die Einstellung: Gib diese weiter oder lasse den Benutzer den Wert selbst in die Env-Datei einfügen. Frage niemals nach einem Passwort im Chat.
  • Remote-Datenbanken, SSH-Tunnel und alles, was als Produktion getaggt ist, werden nie geteilt. Verwende für diese die Tools von TableStudio.

Eine sichere Kopie zum Experimentieren

create_sandbox erstellt eine einmalige lokale Kopie einer beliebigen Verbindung (die Quelle wird nur gelesen):

  • data: "none" kopiert nur das Schema. Am besten zum Testen von DDL.
  • data: "sample" kopiert bis zu rows Zeilen pro Tabelle. Am besten zum Überprüfen einer Datenkorrektur mit realistischen Zeilen.
  • data: "fake" generiert Zeilen.

Führe nach Belieben Abfragen gegen die connection_id der Sandbox aus. Der Benutzer verwirft sie mit einem Klick; du kannst sie nicht löschen. Verwende list_sandboxes, um eine zuvor erstellte wiederzuverwenden.

PostgreSQL-Erweiterungen

list_extensions zeigt, was der Server installieren kann und was bereits installiert ist. add_extension installiert eine (CREATE EXTENSION IF NOT EXISTS). Behandle es als Schemaänderung: Schlage es auf einer gemeinsamen oder Produktionsdatenbank vor, anstatt es auszuführen. Und wenn das Repository ein Migrationstool hat, füge es dort hinzu, damit auch andere Umgebungen es erhalten.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills