Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
109 lines
2.8 KiB
Plaintext
109 lines
2.8 KiB
Plaintext
---
|
|
title: Commandes Backend
|
|
image: /images/user-guide/kanban-views/kanban.png
|
|
---
|
|
|
|
<Frame>
|
|
<img src="/images/user-guide/kanban-views/kanban.png" alt="Header" />
|
|
</Frame>
|
|
|
|
## Commandes utiles
|
|
|
|
Ces commandes doivent être exécutées depuis le dossier packages/twenty-server.
|
|
Depuis n'importe quel autre dossier, vous pouvez exécuter `npx nx <commande> twenty-server` (ou `npx nx run twenty-server:<commande>`).
|
|
|
|
### Configuration initiale
|
|
|
|
```
|
|
npx nx database:reset twenty-server # setup the database with dev seeds
|
|
```
|
|
|
|
### Démarrer le serveur
|
|
|
|
```
|
|
npx nx run twenty-server:start
|
|
```
|
|
|
|
### Analyse
|
|
|
|
```
|
|
npx nx run twenty-server:lint # pass --fix to fix lint errors
|
|
```
|
|
|
|
### Test
|
|
|
|
```
|
|
npx nx run twenty-server:test:unit # run unit tests
|
|
npx nx run twenty-server:test:integration # run integration tests
|
|
```
|
|
|
|
Remarque: vous pouvez exécuter `npx nx run twenty-server:test:integration:with-db-reset` si vous avez besoin de réinitialiser la base de données avant de lancer les tests d'intégration.
|
|
|
|
### Réinitialiser la base de données
|
|
|
|
Si vous souhaitez réinitialiser et peupler la base de données, vous pouvez exécuter la commande suivante :
|
|
|
|
```bash
|
|
npx nx run twenty-server:database:reset
|
|
```
|
|
|
|
### Migrations
|
|
|
|
#### Pour les objets dans les schémas Core/Metadata (TypeORM)
|
|
|
|
```bash
|
|
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
|
```
|
|
|
|
#### Pour les objets de l'Espace de travail
|
|
|
|
Il n'y a pas de fichiers de migrations, les migrations sont générées automatiquement pour chaque espace de travail, stockées dans la base de données et appliquées avec cette commande
|
|
|
|
```bash
|
|
npx nx run twenty-server:command workspace:sync-metadata -f
|
|
```
|
|
|
|
<Warning>
|
|
|
|
Cette action supprimera la base de données et relancera les migrations et les semences.
|
|
|
|
Assurez-vous de sauvegarder toutes les données que vous souhaitez conserver avant d'exécuter cette commande.
|
|
|
|
</Warning>
|
|
|
|
## Écosystème Tech
|
|
|
|
Twenty utilise principalement NestJS pour le backend.
|
|
|
|
Prisma a été le premier ORM que nous avons utilisé. Mais pour permettre aux utilisateurs de créer des champs et objets personnalisés, un niveau inférieur avait plus de sens car nous avons besoin d'un contrôle granulaire. Le projet utilise maintenant TypeORM.
|
|
|
|
Voici à quoi ressemble maintenant la pile technologique.
|
|
|
|
**Noyau**
|
|
|
|
- [NestJS](https://nestjs.com/)
|
|
- [TypeORM](https://typeorm.io/)
|
|
- [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server)
|
|
|
|
**Base de données**
|
|
|
|
- [Postgres](https://www.postgresql.org/)
|
|
|
|
**Intégrations tierces**
|
|
|
|
- [Sentry](https://sentry.io/welcome/) pour suivre les bugs.
|
|
|
|
**Tests**
|
|
|
|
- [Jest](https://jestjs.io/)
|
|
|
|
**Outils**
|
|
|
|
- [Yarn](https://yarnpkg.com/)
|
|
- [ESLint](https://eslint.org/)
|
|
|
|
**Développement**
|
|
|
|
- [AWS EKS](https://aws.amazon.com/eks/)
|
|
|