2017-02-08 7 views
0

Я ранее использованного рецепт для определения модели очень похоже на 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, и, таким образом, предпочтителен?

ответ

1

Да Sequelize полностью взаимозаменяемо с DataTypes для типов данных.

https://github.com/sequelize/sequelize/blob/3e5b8772ef75169685fc96024366bca9958fee63/lib/sequelize.js

Также типы данных отображаются в соответствии с диалектом, но они добавляются к классу Sequelize, так что вы можете использовать либо

https://github.com/sequelize/sequelize/blob/3e5b8772ef75169685fc96024366bca9958fee63/lib/data-types.js#L57

+0

Спасибо. Это то, что я подозревал. – estus

 Смежные вопросы

  • Нет связанных вопросов^_^