如何在 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";
我是 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";