Pular para o conteúdo principal

Seed & Reset

Dados de demonstração realistas. Dados de produção nunca tocados.

Um framework de seed-packs para demonstrações de vendas, ambientes de QA e onboarding de clientes — com uma barreira de segurança hard-coded que torna impossível executar seeds em um cliente real. Dados realistas, desmontagem reversível, auditoria completa.

Ao vivo

Dados falsos nunca devem encostar em dados reais.

Dados de demonstração, dados de QA e dados de onboarding têm a mesma exigência: parecer reais, comportar-se como reais e nunca, jamais, contaminar um tenant de produção. Demonstrações é construído em torno dessa barreira em primeiro lugar.

Dados de demonstração corrompem dados reais

Um vendedor quer mostrar para um prospect. Ele entra no tenant de produção e cria um evento falso. Relatórios reais o consideram. A reconciliação real o contabiliza. Vergonha real vem em seguida.

Dados falsos com cara de falsos

Os dados de teste que todo mundo entrega são obviamente sintéticos — todos os nomes são "Test User 1", as datas são 2023, os orçamentos são US$ 1. Os prospects perdem o interesse em segundos.

Resets de QA levam um dia

Um engenheiro de QA precisa de um ambiente de teste limpo. O script de reset é um documento do Notion com 47 passos. Metade dos passos não se aplica mais. O ambiente nunca é realmente resetado.

Onboarding significa começar do zero

Novos clientes abrem o produto e encontram um tenant vazio. Não sabem onde clicar. Não sabem como o valor se parece. O primeiro login é a pior experiência.

Um framework de seed que vale a pena escrever pacotes para ele.

Cada capacidade torna os seed-packs código de primeira classe — versionados, reproduzíveis, reversíveis e rastreáveis. QA, vendas e onboarding bebem da mesma fonte.

Seed-packs como contratos

Cada seed-pack declara seu id, versão, módulos cobertos e funções idempotentes de apply / plan. Pacotes são código de primeira classe, não um amontoado de fixtures SQL.

Dados realistas e específicos do evento

O pacote event-agency-starter entrega 12 fornecedores, 5 eventos, 15 deals, 3 orçamentos, 5 ordens de serviço, 8 reservas — nomes realistas, custos realistas, datas realistas. Uma demonstração que parece uma demonstração.

Marcação por linha para desmontagem

Cada linha criada é marcada em platform.seed_rows com o pack id + application id. A desmontagem é determinística — sem linhas órfãs, sem limpeza manual.

Bloqueio rígido em tenants de produção

Cada apply/reset verifica organizations.is_production. Nenhum caminho do código da aplicação consegue executar seeds em um cliente real. Nunca.

Plan antes de apply

Cada pacote tem uma função plan que prevê o que seria criado — contagens por tabela, linhas de exemplo, totais esperados. Dry-run é uma operação de primeira classe, não um chute.

Trilha de auditoria em cada apply

As aplicações de seed são registradas em platform.seed_applications com o autor, timestamp, versão do pacote e contagens. QA reproduz bugs reexecutando o mesmo seed. Demonstrações de vendas ficam marcadas e rastreáveis.

Cobertura entre módulos

Um único pacote pode semear deals de Vendas, itens de linha de Orçamento, fornecedores de Fornecedores, ordens de serviço de Despacho e reservas de Espaços — tudo em uma só transação, com os links entre módulos preservados.

Confirmação por digitação do slug da org

Aplicar um pacote exige digitar exatamente o slug da org de destino. Resetar exige o mesmo. Proteção foot-gun para admins com pressa.

Seguro por padrão

Duas travas rígidas entre dados de seed e dados reais.

Seed-packs não podem ser executados em um tenant de produção — nem por engano, nem por override, nem por ninguém. A barreira de segurança fica no nível do código e no nível dos dados.

Bloqueio em nível de código

lib/seeds/safety.ts::assertNotProduction(orgId) é chamado antes de cada escrita. Se organizations.is_production = true, o pacote dá throw. Nenhum caminho do código da aplicação consegue burlar a verificação.

Flag em nível de org

Tenants de clientes reais têm is_production = true. Tenants de demonstração e QA não têm. O módulo Demonstrações é totalmente desativado em orgs de produção via feature flag — duplo bloqueio rígido, cinto e suspensórios.

Comece agora

Dados de demonstração que nunca mentem para seus clientes.

A plataforma está no ar. Solicite uma demo para ver o módulo Demos em ação.

Parte de uma plataforma de 13 módulos que se adapta à sua operação. Sem compromisso.

Demonstrações · ShowOps.AI