Pular para o conteúdo
Skillpedia
Bancos de dados48 mil · #3838

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/planetscale/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/planetscale/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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 planetscale

Ou 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.md
Conteú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 pscale instalada 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3838
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas