CommunityEscrita e Ediçãogithub.com

tablestudioapp/plugins

Configure e gerencie bancos de dados de desenvolvimento local no Mac do usuário através do TableStudio. Use quando um projeto precisar de um banco de dados local Postgres, MySQL, ClickHouse ou SQLite, ou uma DATABASE_URL para um deles; quando um banco de dados local recusar conexões ou estiver parado (ECONNREFUSED, "connection refused", "could not connect to server", "Can't connect to MySQL server"); quando o usuário quiser um banco de dados descartável ou de teste, ou uma cópia segura para experimentar; ou quando uma extensão PostgreSQL (pgvector, PostGIS, pg_trgm) precisar ser instalada.

O que é plugins?

O TableStudio gerencia servidores de banco de dados no Mac do usuário, incluindo aqueles adotados do Homebrew ou Postgres.app. Esta skill permite diagnosticar problemas de conexão, como erros "Connection refused", iniciando servidores parados ou informando sobre portas ocupadas. Para novos projetos, é possível criar bancos de dados locais com `create_local_database`, fornecendo uma string de conexão pronta para uso e orientações para configurar o `.env` e rodar migrações. Além disso, oferece suporte a sandboxes descartáveis para experimentação segura, cópia de esquemas e dados, e instalação de extensões PostgreSQL, tudo sem exigir que o usuário compartilhe senhas ou exponha dados sensíveis.

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

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Bancos de dados locais com TableStudio

O TableStudio gerencia servidores de banco de dados neste Mac, incluindo aqueles adotados do Homebrew ou Postgres.app. Prefira suas ferramentas em vez de comandos Docker artesanais ou initdb, porque o resultado aparece no aplicativo do usuário como uma conexão salva.

"Connection refused" em um banco de dados local

  1. connection_status (sem argumentos relata todas as conexões). Não executa consulta, então funciona enquanto o banco de dados está inativo, e informa se um servidor local suporta a conexão e se esse servidor está em execução.
  2. Se o servidor estiver parado, chame start_local_database com o instance_id que ele retornou. É seguro chamar quando o servidor já está executando.
  3. Se a porta estiver ocupada por outra coisa, o erro nomeia o ocupante. Informe o usuário em vez de matar processos.

list_local_databases mostra tudo local: servidores gerenciados, adotados, arquivos SQLite e servidores que o TableStudio não gerencia mas que ocupam uma porta. Observe os dois IDs: instance_id é o servidor (start e stop o usam), e connection_id é o banco de dados que você consulta. Eles não são intercambiáveis.

Um novo banco de dados

create_local_database com um name e um engine:

  • sqlite não precisa de nada instalado e é instantâneo. Prefira-o quando o usuário só quiser um lugar para armazenar dados.
  • postgres, mysql e clickhouse precisam que os binários do servidor desse mecanismo já estejam no Mac. O TableStudio não fornece nenhum, e a ferramenta avisa quando eles estão ausentes. Repasse a dica de instalação em vez de instalar software sem permissão.

Ele retorna um connection_id que está pronto para ser consultado através das ferramentas do TableStudio, e env_line (DATABASE_URL=…) para o próprio projeto. Então:

  1. Verifique se .gitignore cobre o arquivo env que você usará (.env, .env.local). Se não, adicione-o lá primeiro.
  2. Coloque env_line nesse arquivo, usando o nome da variável que o projeto já lê (DATABASE_URL, ou o que sua configuração esperar).
  3. Execute as migrações (e seed, se houver) do projeto contra ele.

Nunca repita a string de conexão no chat, e nunca a escreva em código, documentação ou commit.

Não chame stop_local_database como limpeza ou para liberar uma porta a menos que o usuário tenha pedido. Ele desconecta tudo que usa aquele servidor, incluindo as próprias janelas do usuário.

A string de conexão de um banco de dados local existente

Quando o projeto precisar acessar um banco de dados local que o TableStudio já conhece (para preencher um .env ausente, ou para apontar testes para um sandbox), chame get_connection_url com seu connection_id e use o env_line como acima.

  • Bancos de dados que o TableStudio criou, sandboxes e bancos de dados locais sem senha estão sempre disponíveis.
  • Uma conexão local que o usuário salvou com sua própria senha é compartilhada apenas se ele permitiu. Caso contrário, a recusa nomeia a configuração: repasse isso, ou deixe o usuário colar o valor no arquivo env ele mesmo. Nunca peça uma senha no chat.
  • Bancos de dados remotos, túneis SSH e qualquer coisa marcada como produção nunca são compartilhados. Use as ferramentas do TableStudio para esses.

Uma cópia segura para experimentar

create_sandbox cria uma cópia local descartável de qualquer conexão (a fonte é apenas lida):

  • data: "none" copia apenas o esquema. Melhor para testar DDL.
  • data: "sample" copia até rows linhas por tabela. Melhor para verificar uma correção de dados com linhas realistas.
  • data: "fake" gera linhas.

Execute o que quiser contra o connection_id do sandbox. O usuário o descarta com um clique; você não pode deletá-lo. Use list_sandboxes para reutilizar um que você criou antes.

Extensões PostgreSQL

list_extensions mostra o que o servidor pode instalar e o que já está instalado. add_extension instala uma (CREATE EXTENSION IF NOT EXISTS). Trate como uma alteração de esquema: em um banco de dados compartilhado ou de produção, proponha em vez de executar. E se o repositório tiver uma ferramenta de migração, adicione lá para que outros ambientes também a obtenham.

Individual skills in this repo

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

Habilidades Relacionadas