planetscale
Gerencia bancos de dados compatíveis com MySQL na plataforma PlanetScale. Permite fluxos de trabalho com ramificações e migrações seguras.
O que ela faz
PlanetScale é um serviço que gerencia bancos de dados compatíveis com MySQL. Ele permite criar e modificar bancos de dados de forma segura, com recursos como ramificações (branches) para desenvolvimento e atualizações sem interrupção.
Quando usar
- ✓Quando você precisa de um banco de dados MySQL que não pare durante atualizações.
- ✓Para testar mudanças no banco de dados em um ambiente separado antes de ir para produção.
- ✓Ao criar aplicativos que precisam de um banco de dados escalável e confiável.
Exemplo do que pedir para a IA
“Como posso criar um novo banco de dados chamado 'meu-projeto' na região 'us-east'?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você usa a ferramenta de linha de comando `pscale` para interagir com o PlanetScale. Ela permite criar bancos de dados, gerenciar esquemas (estruturas do banco de dados) usando um fluxo semelhante ao Git e implantar alterações com segurança.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill planetscaleOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/planetscale/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
PlanetScale
Use o PlanetScale para bancos de dados compatíveis com MySQL serverless, com fluxos de trabalho de alteração de esquema não bloqueantes construídos sobre Vitess.
Quando Usar
- Você precisa de um banco de dados compatível com MySQL gerenciado com migrações sem tempo de inatividade.
- Sua equipe quer ramificações (branching) semelhantes ao Git para desenvolvimento de esquema.
- Você está construindo uma aplicação serverless ou de edge que se beneficia do pooling de conexões.
- Você precisa de sharding horizontal sem gerenciar o Vitess diretamente.
Pré-requisitos
- Uma conta PlanetScale (nível gratuito disponível).
- A CLI
pscaleinstalada localmente. - Node.js 18+ se estiver usando Prisma ou outras integrações de ORM.
Instalar a CLI pscale
# macOS
brew install planetscale/tap/pscale
# Linux (deb)
curl -fsSL https://github.com/planetscale/cli/releases/latest/download/pscale_linux_amd64.deb -o pscale.deb
sudo dpkg -i pscale.deb
# Verify installation
pscale version
# Authenticate
pscale auth login
Criar e Gerenciar Bancos de Dados
# Create a new database
pscale database create my-app --region us-east
# List databases
pscale database list
# Show database info
pscale database show my-app
# Delete a database (destructive)
pscale database delete my-app
Fluxo de Trabalho de Ramificação (Branching)
As ramificações do PlanetScale funcionam como ramificações do Git para o esquema do seu banco de dados. A ramificação main é a ramificação de produção por padrão.
# Create a development branch from main
pscale branch create my-app add-users-table
# List all branches
pscale branch list my-app
# Open a shell on the branch to apply schema changes
pscale shell my-app add-users-table
Aplicar Alterações de Esquema em uma Ramificação
-- Inside the pscale shell on the development branch
CREATE TABLE users (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY idx_users_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE orders (
id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
user_id BIGINT NOT NULL,
total DECIMAL(10,2) NOT NULL DEFAULT 0.00,
status ENUM('pending','paid','shipped','cancelled') DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
KEY idx_orders_user_id (user_id),
KEY idx_orders_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
O PlanetScale não impõe chaves estrangeiras no nível do banco de dados. Use restrições no nível da aplicação ou regras de roteamento no nível do Vitess em vez disso.
Requisições de Implantação (Deploy Requests)
As requisições de implantação são o equivalente a pull requests para esquemas de banco de dados. Elas mostram um diff, executam linting e mesclam de forma não bloqueante na produção.
# Create a deploy request from branch to main
pscale deploy-request create my-app add-users-table
# List open deploy requests
pscale deploy-request list my-app
# Show diff for a deploy request
pscale deploy-request diff my-app 1
# Deploy (merge) the request
pscale deploy-request deploy my-app 1
# Close without deploying
pscale deploy-request close my-app 1
# Delete the branch after successful deploy
pscale branch delete my-app add-users-table
Strings de Conexão e Proxy
# Create a password (connection credential) for a branch
pscale password create my-app main production-creds
# Output includes host, username, and password for the connection string:
# mysql://USERNAME:PASSWORD@HOST/my-app?sslmode=verify_identity
# Proxy a branch to localhost for local development (no password needed)
pscale connect my-app add-users-table --port 3306
Padrão de Variável de Ambiente
# .env (local development using pscale connect)
DATABASE_URL="mysql://root@127.0.0.1:3306/my-app"
# .env.production (using PlanetScale connection string)
DATABASE_URL="mysql://USERNAME:PASSWORD@us-east.connect.psdb.cloud/my-app?sslaccept=strict"
Integração com Prisma
// prisma/schema.prisma
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
relationMode = "prisma" // obrigatório — PlanetScale não suporta chaves estrangeiras
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String
orders Order[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Order {
id Int @id @default(autoincrement())
userId Int
total Decimal @db.Decimal(10, 2)
…
Perguntas frequentes
O que são 'branches' no PlanetScale?
Branches são como cópias separadas do seu banco de dados, usadas para desenvolver e testar novas funcionalidades ou alterações sem afetar o banco de dados principal (produção).
O que é um 'Deploy Request'?
É um pedido para mesclar as alterações feitas em um branch para o branch principal. Ele funciona como uma revisão de código para o banco de dados, mostrando as diferenças e permitindo uma implantação segura.
Preciso pagar para usar o PlanetScale?
Não, existe um plano gratuito disponível para começar. Você só paga se precisar de recursos mais avançados ou maior capacidade.
Detalhes
Descrição original do autor
Operate MySQL-compatible databases on PlanetScale with branching workflows, safe migrations, and production rollouts.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3838
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC