Использование CLI
Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
Установка CLI
Если файлы сущностей на JavaScript
Если у вас установлена локальная версия TypeORM, убедитесь, что она совпадает с глобальной версией, которую мы будем устанавливать.
Установите TypeORM глобально командой npm i -g typeorm.
Либо используйте npx typeorm <params> для каждой команды, если предпочитаете не устанавливать CLI глобально.
Если файлы сущностей на TypeScript
Этот CLI инструмент написан на JavaScript и работает в Node.js. Если ваши файлы сущностей используют TypeScript, перед использованием CLI их нужно скомпилировать в JavaScript. Этот раздел можно пропустить, если вы используете только JavaScript.
Для упрощения работы настройте ts-node в проекте следующим образом:
Установите ts-node:
npm install ts-node --save-dev
Добавьте команду typeorm в раздел scripts файла package.json
"scripts": {
...
"typeorm": "typeorm-ts-node-commonjs"
}
Для проектов ESM добавьте вместо этого:
"scripts": {
...
"typeorm": "typeorm-ts-node-esm"
}
Если нужно загрузить дополнительные модули вроде module-alias, добавьте дополнительные параметры --require my-module-supporting-register
Затем команду можно запускать так:
npm run typeorm migration:run -- -d path-to-datasource-config
Как читать документацию?
Для сокращения объёма документации в последующих разделах используется глобально установленный TypeORM CLI. В зависимости от вашего способа установки, замените typeorm в начале команд на npx typeorm или npm run typeorm.
Инициализация нового TypeORM проекта
Создайте новый проект с предустановленной конфигурацией:
typeorm init
Будут созданы все файлы для базового проекта с TypeORM:
-
.gitignore
-
package.json
-
README.md
-
tsconfig.json
-
src/entity/User.ts
-
src/index.ts
Запустите npm install для установки зависимостей.
Затем запустите приложение командой npm start.
Все файлы создаются в текущей директории.
Для генерации в отдельной директории используйте параметр --name:
typeorm init --name my-project
Укажите конкретную СУБД через параметр --database:
typeorm init --database mssql
Для генерации проекта на ESM используйте --module esm:
typeorm init --name my-project --module esm
Можно также создать базовый проект с Express:
typeorm init --name my-project --express
При использовании Docker сгенерируйте файл docker-compose.yml:
typeorm init --docker
typeorm init — самый простой и быстрый способ настройки TypeORM проекта.
Создание новой сущности
Используйте CLI для создания сущности:
typeorm entity:create path-to-entity-dir/entity
Подробнее о сущностях.
Создание нового подписчика
Используйте CLI для создания подписчика:
typeorm subscriber:create path-to-subscriber-dir/subscriber
Подробнее о подписчиках.
Управление миграциями
-
typeorm migration:create- создать пустую миграцию -
typeorm migration:generate- сгенерировать миграцию на основе сравнения сущностей с актуальной схемой БД -
typeorm migration:run- выполнить все миграции -
typeorm migration:revert- откатить последнюю миграцию -
typeorm migration:show- показать все миграции с их статусом выполнения
Подробнее о миграциях.
Синхронизация схемы базы данных
Для синхронизации схемы базы данных используйте:
typeorm schema:sync
Будьте осторожны при использовании в production — синхронизация схемы может привести к потере данных при неосторожном использовании. Всегда проверяйте SQL-запросы перед выполнением в рабоче й среде.
Просмотр SQL-запросов синхронизации без выполнения
Чтобы проверить SQL-запросы, которые выполнит schema:sync, используйте:
typeorm schema:log
Удаление схемы базы данных
Для полного удаления схемы базы данных используйте:
typeorm schema:drop -- -d path-to-datasource-config
Будьте крайне осторожны в production — эта команда полностью удалит все данные из базы.
Выполнение произвольных SQL-запросов
Можно выполнять любые SQL-запросы напрямую через базу данных с помощью:
typeorm query "SELECT * FROM USERS"
Очистка кэша
При использовании кэширования в QueryBuilder иногда требуется очистить весь кэш.
Это можно сделать командой:
typeorm cache:clear
Проверка версии
Текущую версию TypeORM (локальную и глобальную) можно проверить командой:
typeorm version