Comandos úteis
Esses comandos devem ser executados a partir da pasta packages/twenty-server.
From any other folder you can run npx nx {command} twenty-server (or npx nx run twenty-server:{command}).
First time setup
npx nx database:reset twenty-server # setup the database with dev seeds
Iniciando o servidor
npx nx run twenty-server:start
Lint
npx nx run twenty-server:lint # pass --fix to fix lint errors
Teste
npx nx run twenty-server:test:unit # run unit tests
npx nx run twenty-server:test:integration # run integration tests
Nota: você pode executar npx nx run twenty-server:test:integration:with-db-reset caso precise redefinir o banco de dados antes de executar os testes de integração.
Redefinindo o banco de dados
Se você quiser redefinir e preencher o banco de dados, pode executar o seguinte comando:
npx nx run twenty-server:database:reset
Migrações
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
Para objetos do Workspace
Não há arquivos de migração, as migrações são geradas automaticamente para cada workspace, armazenadas no banco de dados e aplicadas com este comando
npx nx run twenty-server:command workspace:sync-metadata -f
Isso excluirá o banco de dados e reexecutará as migrações e preencherá novamente.Certifique-se de fazer backup de qualquer dado que deseja manter antes de executar este comando.
Pilha Tecnológica
Twenty utiliza principalmente o NestJS para o backend.
Prisma foi o primeiro ORM que usamos. Mas, para permitir que os usuários criem campos personalizados e objetos personalizados, um nível mais baixo fazia mais sentido, pois precisamos ter controle granular. O projeto agora utiliza TypeORM.
Veja como agora está a pilha tecnológica.
Core
Base de Dados
Integrações de terceiros
Testes
Ferramentas
Desenvolvimento