Kyrux
Voltar

CLI — Comandos

Criar um novo app

go run main.go startapp <nome>

Gera automaticamente:

  • apps/<nome>/routes.go — com rota GET / e view ExemploView
  • apps/<nome>/views/views.go — com func ExemploView
  • apps/<nome>/models/models.go
  • apps/<nome>/templates/exemplo.html — página de boas-vindas estilizada
  • apps/<nome>/statics/styles/exemplo.css — estilos da página de exemplo
  • Pasta statics/styles/
  • Registra em InstalledApps e adiciona o import automaticamente

Remover um app

go run main.go removeapp <nome>

Remove a pasta e desfaz o registro. Pede confirmação antes.

Gerar migrations automáticas

go run main.go makemigrations

Lê todos os structs com kyrux:"pk" em apps/*/models/*.go, core/security/auth/*.go e core/admin/*.go (ignorando *_test.go), detecta tabelas ainda não migradas e gera um arquivo database/migrations/NNNN_auto.sql. Revise o arquivo antes de aplicar.

Aplicar migrations

go run main.go migrate

Aplica todos os arquivos .sql em database/migrations/ que ainda não foram executados. Registra cada migration na tabela kyrux_migrations — idempotente. Requer DB_ENABLED=true.

Criar superusuário

go run main.go createsuperuser

Cria interativamente um usuário com is_admin=true e is_staff=true. Requer DB_ENABLED=true.

O campo marcado com kyrux:"login" no model auth.User é sempre obrigatório. O outro identificador (username ou e-mail) é solicitado como opcional — se informado, também é verificado quanto à unicidade.

Criar usuário comum

go run main.go createuser

Cria interativamente um usuário comum (pergunta se é staff). Requer DB_ENABLED=true.

Segue o mesmo comportamento do createsuperuser quanto ao campo de login obrigatório e identificador opcional.

Remover migration

go run main.go removemigration 0003        # remove apenas do disco
go run main.go removemigration 0003 all    # remove do disco + da tabela kyrux_migrations

Remove a migration pelo número (prefixo NNNN). A variante all requer DB_ENABLED=true. Útil para corrigir uma migration gerada com erro antes de aplicá-la em produção.

Rodar os benchmarks do framework

go run main.go benchmark

Roda as camadas de teste de performance descritas na seção 22 em sequência (microbenchmark, framework sem TCP, regressão e throughput real) e salva a saída completa em benchmark/benchmark_AAAA-MM-DD_HH-MM-SS.txt, junto com a versão do Go e o modelo de CPU detectado. Atalho para não digitar os comandos go test de cada camada manualmente.