Перейти к основному содержанию
Header

Полезные команды

Эти команды следует выполнять из папки packages/twenty-server. From any other folder you can run npx nx {command} twenty-server (or npx nx run twenty-server:{command}).

Первоначальная настройка

npx nx database:reset twenty-server # setup the database with dev seeds

Запуск сервера

npx nx run twenty-server:start

Линт

npx nx run twenty-server:lint # pass --fix to fix lint errors

Тест

npx nx run twenty-server:test:unit          # run unit tests
npx nx run twenty-server:test:integration   # run integration tests
Примечание: вы можете использовать npx nx run twenty-server:test:integration:with-db-reset, если необходимо сбросить базу данных перед выполнением интеграционных тестов.

Сброс базы данных

If you want to reset and seed the database, you can run the following command:
npx nx run twenty-server:database:reset

Миграции

Для объектов в схемах Core/Metadata (TypeORM)

npx nx run twenty-server:typeorm migration:generate src/database/typeorm/core/migrations/nameOfYourMigration -d src/database/typeorm/core/core.datasource.ts

Для объектов Рабочего пространства

Файлов миграций нет, миграции создаются автоматически для каждого рабочего пространства, хранятся в базе данных и применяются этой командой
npx nx run twenty-server:command workspace:sync-metadata -f
Это удалит базу данных, переустановит миграции и семена.Убедитесь, что создали резервную копию данных, которые хотите сохранить, прежде чем выполнять эту команду.

Технологический стек

Для работы с серверной частью Twenty в основном использует NestJS. Prisma был первым ORM, который мы использовали. Но чтобы пользователи могли создавать собственные поля и объекты, использование более низкого уровня было более логичным, так как нам нужен был тонкий контроль. Теперь проект использует TypeORM. Вот как теперь выглядит стек технологий. Ядро База данных Интеграции сторонних решений
  • Sentry для отслеживания ошибок
Тестирование Инструменты Разработка