【问题标题】:Why is Sequelizer is ignoring my username为什么 Sequelizer 忽略了我的用户名
【发布时间】:2019-08-10 06:06:37
【问题描述】:

我已经建立了一个 NestJS 项目,并且正在尝试使用 Sequelizer 访问我的数据库。目前,我有一个设置为全局使用的数据库提供程序和模块(该模块被注入到我的 app.module 中),设置如下:

database.module.ts:

import {Global, Module } from '@nestjs/common';
import { databaseProvider } from './database.provider'

@Global()
@Module({
 providers: [databaseProvider],
 exports: [databaseProvider]
})
export class DatabaseModule{}

database.provider.ts:

import {Sequelize } from 'sequelize-typescript';

export const databaseProvider = {
  provide: 'SequelizeInstance',
  useFactory: async () => {
    const config = {
      username: process.env.DB_USERNAME,
      password: process.env.DB_PASSWORD,
      database: process.env.DB_DATABASE,
      host: process.env.DB_HOST,
      port: Number(process.env.DB_PORT),
      logging: false,
      dialect: 'mssql',
      force: false,
      timezone: '-07:00'
    };

    const sequelize = new Sequelize(config);
    return sequelize;
  }
};

我调用代码的模块使用如下设置的模块和服务:

db.module.ts:

import { Module } from '@nestjs/common';
import { DBService } from './db.service';
import { DBController } from './db.controller'

@Module({
  controllers: [DBController],
  providers: [DBService],
  exports: [DBService]
})
export class DBModule {}

db.service.ts:

import { Inject, Injectable } from '@nestjs/common';

@Injectable()
export class DBService {
  constructor(
    @Inject('SequelizeInstance') private readonly sequelizeInstance
  ) {}

  public async getRegions(): Promise<any> {
    return this.sequelizeInstance.query('EXEC pr_region_lst')
    .then(data => data)
    .catch(error => console.log(error));
  }
}

我遇到的问题是,sequelizer 不断抛出用户“登录失败”的错误。我附加了一个调试器,并正在查看 db.service.ts 中的代码。当我查看 sequelizeInstance 时,它​​显示了具有我提供的配置文件中的用户名的配置。我不知道为什么它不在数据库上下文中使用它。

【问题讨论】:

    标签: node.js typescript sequelize.js nestjs


    【解决方案1】:

    我已经解决了我的问题。似乎我的项目中没有安装“乏味”的软件包。但是 msssql 包是。所以显然没有正确使用驱动程序连接到数据库。一旦我添加了乏味,连接就开始工作了。

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2011-12-31
      • 2018-03-12
      • 1970-01-01
      相关资源
      最近更新 更多