Sequelize V5 - тип данных BOOLEAN не поддерживается при создании модели - PullRequest
0 голосов
/ 22 января 2020

Я недавно установил "sequelize": "^5.21.3" в мой новый проект узла. Также я использую «sequelize-auto-migrations» для синхронизации c базы данных. (https://www.npmjs.com/package/sequelize-auto-migrations)

Затем я создаю свою первую Model [User] с полями логического типа .

module.exports = function (sequelize, DataTypes) {
    var User = sequelize.define('user', {
        EpfNo: {
            type: Sequelize.INTEGER,
            autoIncrement: false,
            allowNull: false,
            primaryKey: true
        },
        Title: {
            type: Sequelize.STRING(10)
        },
        EmailAddress: {
            type: Sequelize.STRING(100)
        },
        ContactNo: {
            type: Sequelize.STRING(20)
        },
        IsValidUser:{
            type:Sequelize.BOOLEAN
        },
        IsActive: {
            type:Sequelize.BOOLEAN
        }
    })

Но когда я пытаюсь запустить миграцию, отображается следующее сообщение об ошибке.

[# 0] execute: createTable (node: 16296) [SEQUELIZE0004] DeprecationWarning: логическое значение было передано в options.operatorsAliases. Это не работает с v5 и должен быть удален.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 22 января 2020

Я думаю, что вам нужно передать "operatorAliases" как ложное в вашем соединении секвелирования, как показано ниже -

const Sequelize = require('sequelize')
const sequelize = new Sequelize(
  DB_NAME,
  USERNAME, 
  PASSWORD,
  {
    host: HOSTNAME,
    dialect: 'mysql',
    logging: false,
    freezeTableName: true,
    operatorsAliases: false
  }
)

Также в соответствии с вашим кодом -

module.exports = function (sequelize, DataTypes) {

вы использовали маленький последний сиквелиз, но в указанном определении вы использовали прописные буквы

type:Sequelize.BOOLEAN

Хоп, это помогает.

...