如何在 sequelize index.ts 文件中导入模型

how to import the model in sequelize index.ts file

我是 typescript 新手,如何在 sequelize index.ts 文件中导入模型??

import fs from "fs";
import path from "path";
import { DataTypes, Sequelize} from "sequelize";
import sequalizeConfig from "../config/sequelize";
import  {DB}  from "../types/db";

import { AbnormalityDescriptions } from "../models/abnormalityDescriptions";



const env = process.env.NODE_ENV || "development";
const config = sequalizeConfig[env];

const sequelize = new Sequelize(
  config.database,
  config.username,
  config.password,
  config
);
const db = {
  sequelize,
  Sequelize,
  anormalityDescriptions:AbnormalityDescriptions(Sequelize,sequelize.DataTypes)

};
Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});
export default db as DB;

y 模型如下所示:

export class AbnormalityDescriptions extends Model {
  public abId: number;
  public description: string;

  
 
  
  public static associate = (models: DB) => {
    // associations can be defined here
    models.AbnormalityDescriptions.belongsTo(models.AbnormalityReports, {
      foreignKey: "abnormalityReportId"
    });
  };
}

export default (sequelize: Sequelize, dataTypes: typeof DataTypes) => {
  console.log("here")
  AbnormalityDescriptions.init(
    {
      abId: dataTypes.INTEGER,
      description: dataTypes.STRING,
     
   
     
    },
    {
      sequelize,
      tableName: "abnormalityDescriptions"
    }
  );
  return AbnormalityDescriptions;
};

    'typeof AbnormalityDescriptions' 类型的值不可调用。你的意思是包括“新

node_modules/ts-node/src/index.ts:434
    return 新的 TSError(诊断文本,诊断代码)

我得到的错误任何人都可以建议如何在 sequelize 索引文件中导入此模型。

问题是您在此处导入命名导出 AbnormalityDescriptions

import { AbnormalityDescriptions } from "../models/abnormalityDescriptions";

但实际上您需要从该文件中导入 default 导出:

import AbnormalityDescriptions from "../models/abnormalityDescriptions";