v1.0
Acessar api.vupi.us

Banco de Dados por Projeto

Crie e gerencie bancos de dados individuais para cada projeto, garantindo isolamento total.

O que é Banco por Projeto?

Além da conexão personalizada (obrigatória para criar projetos), você pode criar bancos de dados individuais para cada projeto. Isso permite:

  • Isolamento total entre projetos diferentes
  • Testes independentes sem afetar outros módulos
  • Gerenciamento simplificado de dados por projeto
  • Facilidade para deletar dados de teste sem impacto
Diferença entre Conexão Personalizada e Banco por Projeto

Conexão Personalizada: Configuração de servidor de banco de dados (host, porta, usuário, senha) — obrigatória para criar projetos.

Banco por Projeto: Banco de dados individual criado dentro da conexão personalizada — opcional, mas recomendado para isolamento.

Criar Banco de Dados para o Projeto

Você pode criar um banco de dados específico para seu projeto através da interface ou API:

POST /api/ide/projects/{id}/database
{
  "database_name": "meumodulo_dev"
}
Resposta
{
  "message": "Banco de dados 'meumodulo_dev' criado com sucesso.",
  "database": "meumodulo_dev",
  "created": true
}

Regras de Nomenclatura

  • Use apenas letras, números e underscores (_)
  • Não use espaços ou caracteres especiais
  • Recomendado: {modulo}_{ambiente} (ex: blog_dev, ecommerce_test)

Conectar Banco Existente ao Projeto

Se você já criou um banco anteriormente, pode conectá-lo a outro projeto:

PUT /api/ide/projects/{id}/database
{
  "database_name": "meumodulo_dev"
}
Segurança

Você só pode conectar bancos que você mesmo criou através da IDE. Não é possível conectar bancos de outros usuários.

Listar Bancos Disponíveis

Veja todos os bancos de dados que você criou:

GET /api/ide/databases
{
  "databases": [
    "blog_dev",
    "ecommerce_test",
    "api_staging"
  ]
}

Ver Banco Conectado ao Projeto

Verifique qual banco está atualmente conectado ao seu projeto:

GET /api/ide/projects/{id}/database
{
  "database": "meumodulo_dev",
  "module_name": "MeuModulo"
}

Desconectar ou Deletar Banco

Você pode desconectar o banco do projeto (mantendo os dados) ou deletá-lo permanentemente:

Apenas Desconectar (Mantém Dados)

DELETE /api/ide/projects/{id}/database
{
  "message": "Banco desassociado do projeto."
}

Deletar Permanentemente

DELETE /api/ide/projects/{id}/database?physical=true
{
  "message": "Banco deletado permanentemente e desassociado do projeto."
}
Ação Irreversível

Deletar o banco com ?physical=true é permanente. Todos os dados serão perdidos e não podem ser recuperados.

Fluxo de Trabalho Recomendado

1. Criar Projeto

Crie seu projeto na IDE (requer conexão personalizada configurada).

2. Criar Banco Individual

Crie um banco específico para o projeto (ex: meumodulo_dev).

3. Desenvolver e Testar

Crie migrations, seeders e teste seu módulo no banco isolado.

4. Publicar

Quando estiver pronto, publique o módulo para produção.

Casos de Uso

Desenvolvimento e Testes

Crie bancos separados para desenvolvimento e testes:

  • blog_dev — Desenvolvimento ativo
  • blog_test — Testes automatizados
  • blog_staging — Homologação

Múltiplas Versões

Trabalhe em diferentes versões do mesmo módulo:

  • ecommerce_v1 — Versão estável
  • ecommerce_v2 — Nova versão em desenvolvimento

Isolamento de Clientes

Se você desenvolve para múltiplos clientes:

  • crm_cliente_a
  • crm_cliente_b

Boas Práticas

Nomenclatura Clara

Use nomes descritivos que indiquem o módulo e ambiente: {modulo}_{ambiente}.

Limpeza Regular

Delete bancos de teste antigos que não são mais usados para economizar espaço.

Backup Antes de Deletar

Se o banco contém dados importantes, faça backup antes de deletar permanentemente.

Isolamento por Projeto

Sempre use bancos separados para projetos diferentes — evita conflitos e facilita testes.

Próximos Passos

Banco de Dados no Módulo

Aprenda a criar migrations, seeders e trabalhar com o banco no seu módulo.

Ver Documentação

Segurança do Projeto

Configure JWT secrets e API keys para proteger seu módulo.

Ver Segurança

Terminal e Debug

Use o terminal integrado para executar comandos SQL e debugar seu módulo.

Ver Terminal

Análise de Código

Valide suas migrations e detecte problemas antes de publicar.

Analisar Código