Nest js столбец "userId" не существует

Начинаю изучать nest js и столкнулся с проблемой. У меня есть таблица User которая работает отлично, все CRUD операции завершаются отлично!

  //user.model.ts
  import { Column, DataType, Model, Table } from 'sequelize-typescript';

  interface UserCreationAttrs {
    id: number;
    email: string;
    password: string;
    isActivated: boolean;
    name: string;
    activationLink: string;
  }

  @Table({ tableName: 'user' })
  export class User extends Model<User, UserCreationAttrs> {
    @Column({
      type: DataType.INTEGER,
      unique: true,
      autoIncrement: true,
      primaryKey: true,
    })
    id: number;

    @Column({
      type: DataType.STRING,
      unique: true,
      allowNull: false,
    })
    email: string;

    @Column({
      type: DataType.STRING,
      unique: false,
      allowNull: false,
    })
    password: string;

    @Column({
      type: DataType.BOOLEAN,
      unique: false,
      allowNull: false,
      defaultValue: false,
    })
    isActivated: boolean;

    @Column({
      type: DataType.STRING,
      unique: false,
      allowNull: false,
    })
    activationLink: string;

    @Column({
      type: DataType.STRING,
      unique: true,
    })
    userName: string;
  }


  //user.module.ts
  @Module({
   controllers: [UsersController],
   providers: [UsersService],
   imports: [SequelizeModule.forFeature([User, Token])],
   exports: [UsersService],
  })
  export class UsersModule {}

И есть таблица токенов

//token.model.ts
import { Column, DataType, Model, Table } from 'sequelize-typescript';

interface ITokenAtrr {
  userId: number;
  refreshToken: string;
}

@Table({ tableName: 'token' })
export class Token extends Model<Token, ITokenAtrr> {
  @Column({
    type: DataType.INTEGER,
    unique: true,
    allowNull: false,
    primaryKey: true,
  })
  userId: number;

  @Column({
    type: DataType.STRING,
    unique: false,
    allowNull: false,
  })
  refreshToken: string;
}

// auth.module.ts
@Module({
  providers: [AuthService],
  controllers: [AuthController],
  imports: [SequelizeModule.forFeature([Token, User])],
  exports: [AuthService],
})
export class AuthModule {}

Но когда я пытаюсь обратиться к Token например

const tokenData = await this.tokenModel.findOne({
      where: { userId: userId },
    });

вылетает ошибка

[Nest] 7788  - 13.12.2023, 20:23:47   ERROR [ExceptionsHandler] column "userId" does not exist
Error: 
    at Query.run (C:\sources\gs-server\node_modules\sequelize\src\dialects\postgres\query.js:76:25)
    at C:\sources\gs-server\node_modules\sequelize\src\sequelize.js:650:28
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at PostgresQueryInterface.select (C:\sources\gs-server\node_modules\sequelize\src\dialects\abstract\query-interface.js:1001:12)
    at Function.findAll (C:\sources\gs-server\node_modules\sequelize\src\model.js:1824:21)
    at Function.findOne (C:\sources\gs-server\node_modules\sequelize\src\model.js:1998:12)
    at AuthService.saveToken (C:\sources\gs-server\src\auth\auth.service.ts:91:23)
    at AuthService.registration (C:\sources\gs-server\src\auth\auth.service.ts:58:7)
    at AuthController.registration (C:\sources\gs-server\src\auth\auth.controller.ts:26:20)
    at C:\sources\gs-server\node_modules\@nestjs\core\router\router-execution-context.js:46:28

БД у меня крутиться в docker, если подключиться к бд через терминал

List of relations
 Schema | Name  | Type  | Owner | Persistence | Access method |    Size    | Description 
--------+-------+-------+-------+-------------+---------------+------------+-------------
 public | Users | table | root  | permanent   | heap          | 8192 bytes | 
 public | token | table | root  | permanent   | heap          | 0 bytes    | 
 public | user  | table | root  | permanent   | heap          | 16 kB      | 
(3 rows)

В общем не пойму что делать. Понимаю что дальше буду выстраивать связи 1 к 1.


Ответы (0 шт):