Как установить и использовать TypeORM с NestJS: пошаговое руководство

Чтобы установить TypeORM с NestJS, вы можете выполнить следующие действия:

  1. Создайте новый проект NestJS с помощью Nest CLI. Откройте терминал и выполните следующую команду:

    npx nest new project-name
  2. Перейдите в каталог проекта:

    cd project-name
  3. Установить TypeORM и его зависимости:

    npm install typeorm @nestjs/typeorm mysql

    Мы предполагаем, что вы хотите использовать MySQL в качестве базы данных. Если вы предпочитаете другую базу данных, вы можете установить соответствующий модуль (например, pgдля PostgreSQL, sqlite3для SQLite и т. д.) и соответствующим образом настроить конфигурацию.

  4. Создайте файл ormconfig.jsonв корне вашего проекта со сведениями о подключении к базе данных. Вот пример для MySQL:

    {
    "type": "mysql",
    "host": "localhost",
    "port": 3306,
    "username": "your-username",
    "password": "your-password",
    "database": "your-database-name",
    "entities": ["dist//*.entity{.ts,.js}"],
    "synchronize": true
    }

    Обязательно замените 'ваше-имя-пользователя', 'ваш-пароль'и 'ваше-имя-базы-данных'на свое фактические учетные данные базы данных.

  5. Создайте новый модуль для своих сущностей. Запустите следующую команду в своем терминале:

    nest generate module entities
  6. Создайте свою первую сущность. Запустите следующую команду в своем терминале:

    nest generate entity entities/example

    Это создаст объект Exampleс базовыми операциями CRUD.

  7. Откройте сгенерированный файл entities/example.entity.tsи определите свойства и отношения вашей сущности. Вот пример:

    import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
    @Entity()
    export class Example {
    @PrimaryGeneratedColumn()
    id: number;
    @Column()
    name: string;
    // Other properties and relationships...
    }
  8. И наконец, обновите файл entities.module.ts, включив в него вновь созданную сущность. Откройте файл и добавьте следующий код:

    import { Module } from '@nestjs/common';
    import { TypeOrmModule } from '@nestjs/typeorm';
    import { Example } from './example.entity';
    @Module({
    imports: [TypeOrmModule.forFeature([Example])],
    })
    export class EntitiesModule {}

Вот и все! Теперь вы установили TypeORM и интегрировали его с NestJS. Вы можете создать дополнительные сущности и модули, выполнив аналогичные действия.