В старой версии мы могли бы сделать:
User.associate = (models) => {
User.hasMany(models.Something);
}
Следуя документации https://sequelize.org/master/manual/typescript.html нет описанного способа, как это сделать. Если вы попытаетесь сделать очевидное и просто добавите метод:
interface Associate {
associate: Function;
}
class User extends Model<UserAttributes, UserCreationAttributes> implements UserAttributes, Associate {
//...other fields
public associate() {}
}
Когда вы попытаетесь выполнить User.associate()
, вы получите ошибку компилятора от TS, говоря: Property 'associate' does not exist on type 'typeof User'
Цель чтобы определить все модели в разных файлах, а затем, когда они все у вас будут, вызовите эту функцию, чтобы вы могли создавать ассоциации.
Идеи?