#node.js #sequelize.js
#node.js #sequelize.js
Вопрос:
У меня есть модель
модель / Опекун
import { BuildOptions, DataTypes, Model, Sequelize } from 'sequelize';
export interface CaregiverAttributes {
caregiver_id: number | string;
caregiver_notification_preferences?: string;
}
export interface CaregiverModel
extends Model<CaregiverAttributes>,
CaregiverAttributes {}
export type CaregiverStatic = typeof Model amp; {
new (values?: object, options?: BuildOptions): CaregiverModel;
};
export function CaregiverFactory(sequelize: Sequelize): CaregiverStatic {
return <CaregiverStatic>sequelize.define(
'caregiver',
{
caregiver_id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
allowNull: false,
primaryKey: true,
},
caregiver_notification_preferences: {
type: DataTypes.STRING,
allowNull: true,
},
},
{
timestamps: false,
underscored: true,
tableName: 'caregiver',
}
);
}
и ассоциации
Caregiver.belongsToMany(Patient, {
foreignKey: 'caregiver_id',
targetKey: 'caregiver_id',
as: 'Patient',
});
Но когда я пытаюсь получить или установить
const patients = await caregiver.getPatients();
У меня ошибка: свойство getPatients не существует для типа CaregiverModel
Может быть, у кого-то такая же проблема?
Обратите внимание: с // @ts-ignore работает нормально.
Комментарии:
1. Я провел небольшое расследование и нашел статью об этом ( vivacitylabs.com/setup-typescript-sequelize ).
Ответ №1:
Решаемая Найти эту статью https://vivacitylabs.com/setup-typescript-sequelize / , где это описано.