Я ранее использованного рецепт для определения модели очень похоже на the one from Sequelize documentation, где определение модели обернуты с фабричными функциями, которые будут подаваться в sequelize.import
:Использования Sequelize и Datatypes для типов данных
module.exports = (sequelize, DataTypes) => {
return sequelize.define('SomeModel', {
field: DataTypes.STRING(100)
});
};
Эта структура работает но не всегда удобно экспортировать функцию-обертку из модуля (например, когда он экспортирует класс для базовой модели, который использует DataTypes
, но не должен быть импортирован с sequelize.import
).
Является Sequelize
полностью взаимозаменяемы с DataTypes
типов данных (DataTypes.STRING
против Sequelize.STRING
), поэтому функции фабрики может быть опущена?
Возможно, DataTypes
зависит от диалекта, который был выбран в примере sequelize
, и, таким образом, предпочтителен?
Спасибо. Это то, что я подозревал. – estus