Created by Github action --------- Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: github-actions <github-actions@twenty.com>
110 lines
2.6 KiB
Plaintext
110 lines
2.6 KiB
Plaintext
---
|
|
title: Backend Commands
|
|
image: "\x102Fbilder\x112Fanv\x101ndarhandbok\x10Fkanban-vyer\x10Fkanban.png"
|
|
---
|
|
|
|
<Frame>
|
|
<img src="/images/user-guide/kanban-views/kanban.png" alt="Header" />
|
|
</Frame>
|
|
|
|
## Användbara kommandon
|
|
|
|
Dessa kommandon ska köras från mappen packages/twenty-server.
|
|
From any other folder you can run `npx nx {command} twenty-server` (or `npx nx run twenty-server:{command}`).
|
|
|
|
### Första gångens installation
|
|
|
|
```
|
|
npx nx database:reset twenty-server # setup the database with dev seeds
|
|
```
|
|
|
|
### Starting the server
|
|
|
|
```
|
|
npx nx run twenty-server:start
|
|
```
|
|
|
|
### Lint
|
|
|
|
```
|
|
npx nx run twenty-server:lint # pass --fix to fix lint errors
|
|
```
|
|
|
|
### Testa
|
|
|
|
```
|
|
npx nx run twenty-server:test:unit # run unit tests
|
|
npx nx run twenty-server:test:integration # run integration tests
|
|
```
|
|
|
|
Notera: du kan köra `npx nx run twenty-server:test:integration:with-db-reset` om du behöver återställa databasen innan du kör integrationstesterna.
|
|
|
|
### Återställning av databasen
|
|
|
|
Om du vill återställa och fylla databasen, kan du köra följande kommando:
|
|
|
|
```bash
|
|
npx nx run twenty-server:database:reset
|
|
```
|
|
|
|
### Migrationer
|
|
|
|
#### För objekt i Core/Metadata-scheman (TypeORM)
|
|
|
|
```bash
|
|
npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts
|
|
```
|
|
|
|
#### För arbetsytaobjekt
|
|
|
|
Det finns inga migrationsfiler, migrationer genereras automatiskt för varje arbetsyta,
|
|
lagras i databasen och tillämpas med det här kommandot
|
|
|
|
```bash
|
|
npx nx run twenty-server:command workspace:sync-metadata -f
|
|
```
|
|
|
|
<Warning>
|
|
|
|
Detta kommer att ta bort databasen och köra om migrationerna och seederna.
|
|
|
|
Se till att säkerhetskopiera all data du vill behålla innan du kör det här kommandot.
|
|
|
|
</Warning>
|
|
|
|
## Teknisk stack
|
|
|
|
Twenty använder främst NestJS för backend.
|
|
|
|
Prisma var den första ORM vi använde. Men för att tillåta användare att skapa anpassade fält och anpassade objekt, var det mer meningsfullt med en lägre nivå eftersom vi behöver ha detaljerad kontroll. Projektet använder nu TypeORM.
|
|
|
|
Här är hur teknikstacken ser ut nu.
|
|
|
|
**Kärna**
|
|
|
|
- [NestJS](https://nestjs.com/)
|
|
- [TypeORM](https://typeorm.io/)
|
|
- [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server)
|
|
|
|
**Databas**
|
|
|
|
- [Postgres](https://www.postgresql.org/)
|
|
|
|
**Tredjepartsintegrationer**
|
|
|
|
- [Sentry](https://sentry.io/welcome/) för spårning av buggar
|
|
|
|
**Testning**
|
|
|
|
- [Jest](https://jestjs.io/)
|
|
|
|
**Verktyg**
|
|
|
|
- [Yarn](https://yarnpkg.com/)
|
|
- [ESLint](https://eslint.org/)
|
|
|
|
**Utveckling**
|
|
|
|
- [AWS EKS](https://aws.amazon.com/eks/)
|
|
|