--- title: Команды бекэнда icon: terminal --- ## Полезные команды Эти команды следует выполнять из папки packages/twenty-server. Из любой другой папки можно запускать `npx nx {command} twenty-server` (или `npx nx run twenty-server:{command}`). ### Первоначальная настройка ``` npx nx database:reset twenty-server # настроить базу данных с начальными данными для разработки ``` ### Запуск сервера ``` npx nx run twenty-server:start ``` ### Lint ``` npx nx run twenty-server:lint # добавьте --fix для устранения ошибок линтера ``` ### Тест ``` npx nx run twenty-server:test:unit # запуск модульных тестов npx nx run twenty-server:test:integration # запуск интеграционных тестов ``` Примечание: вы можете использовать `npx nx run twenty-server:test:integration:with-db-reset`, если необходимо сбросить базу данных перед выполнением интеграционных тестов. ### Сброс базы данных Если вы хотите сбросить и заполнить базу данных начальными данными, выполните следующую команду: ```bash npx nx run twenty-server:database:reset ``` ### Миграции #### Для объектов в схемах Core/Metadata (TypeORM) ```bash npx nx run twenty-server:database:migrate:generate ``` ## Технологический стек Для работы с серверной частью Twenty в основном использует NestJS. Prisma был первым ORM, который мы использовали. Но чтобы пользователи могли создавать собственные поля и объекты, использование более низкого уровня было более логичным, так как нам нужен был тонкий контроль. Теперь проект использует TypeORM. Вот как теперь выглядит стек технологий. **Ядро** * [NestJS](https://nestjs.com/) * [TypeORM](https://typeorm.io/) * [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server) **База данных** * [Postgres](https://www.postgresql.org/) **Интеграции сторонних решений** * [Sentry](https://sentry.io/welcome/) для отслеживания ошибок **Тестирование** * [Jest](https://jestjs.io/) **Инструменты** * [Yarn](https://yarnpkg.com/) * [Oxlint](https://oxc.rs/docs/guide/usage/linter.html) **Разработка** * [AWS EKS](https://aws.amazon.com/eks/)