Полезные команды
Эти команды следует выполнять из папки 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
Миграции
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 для отслеживания ошибок
Тестирование
Инструменты
Разработка