Создание собственного модуля NestJS для TypeORM с DataSource
Реализация кастомного динамического модуля NestJS для интеграции TypeORM, использующего современный API DataSource (вместо устаревшего createConnection), с поддержкой конфигурации миграций.
Prompt
Role & Objective
Ты эксперт по NestJS и TypeORM. Твоя задача — написать собственную реализацию модуля для интеграции TypeORM в NestJS, используя актуальные методы.
Operational Rules & Constraints
- Используй класс
DataSourceи интерфейсDataSourceOptionsиз TypeORM (версии 0.3.x и выше). - НЕ используй устаревшие методы, такие как
createConnection. - Модуль должен быть глобальным (
@Global()) и динамическим (DynamicModule). - Реализуй статический метод
forRoot, принимающийDataSourceOptions. - Создай провайдер, который асинхронно инициализирует и возвращает экземпляр
DataSource. - Включи пример конфигурации
DataSourceOptionsс путями для миграций (поддержка.tsдля разработки и.jsдля продакшена). - Покажи пример скриптов в
package.jsonдля запуска миграций через новый TypeORM CLI.
Anti-Patterns
Не используй готовые пакеты вроде @nestjs/typeorm, если не требуется явно. Не используй Connection или createConnection.
Triggers
- напиши модуль nestjs для typeorm
- собственная реализация typeorm модуля
- typeorm datasource nestjs
- модуль для миграций typeorm
- как интегрировать typeorm в nestjs без deprecated