ОШИБКА: не удается найти модуль ‘sequelize / types’

#mysql #database #configuration #sequelize.js #database-migration

#mysql #База данных #конфигурация #sequelize.js #база данных-миграция

Вопрос:

  1. C:UserslenovoDesktopYoobouYoobou > продолжить работу с базой данных: миграция

    CLI Sequelize [Узел: 14.15.1, CLI: 6.2.0, ORM: 6.3.5]

    Загружен конфигурационный файл «config config.json». Использование среды «разработка». == 20201207141344-create-producteurs: миграция =======

    ОШИБКА: не удается найти модуль ‘sequelize / types’, требующий стека:

    • C:UserslenovoDesktopYoobouYooboumigrations20201207141344-create-producteurs.js
    • C:UserslenovoAppDataRoamingnpmnode_modulessequelize-clinode_modulesumzuglibmigration.js
    • C:UserslenovoAppDataRoamingnpmnode_modulessequelize-clinode_modulesumzuglibindex.js
    • C:UserslenovoAppDataRoamingnpmnode_modulessequelize-clilibcoremigrator.js
    • C:UserslenovoAppDataRoamingnpmnode_modulessequelize-clilibcommandsmigrate.js
    • C:UserslenovoAppDataRoamingnpmnode_modulessequelize-clilibsequelize

    // МИГРАЦИЯ 20201207141344-create-producteurs.js

    ‘использовать строгий’; const { UniqueConstraintError } = требовать (‘sequelize/types’);

    module.exports = { up: async (QueryInterface, Sequelize) => { await QueryInterface.CreateTable(‘PRODUCTEURS’, { id: { AllowNull: false, автоИнкремент: true, PrimaryKey: true, тип: Sequelize .ЦЕЛОЕ ЧИСЛО, },

       first_name: {
        allowNull: false,
        type: Sequelize.STRING,
        unique: true,
      },
      last_name: {
        allowNull: false,
        type: Sequelize.STRING,
      },
      email: {
        allowNull: false,
        type: Sequelize.STRING,
        Unique: true,
      },
      password: {
        allowNull: false,
        type: Sequelize.STRING,
      },
      avatar: {
        allowNull: false,
        type: Sequelize.STRING,
      },
      createdAt: {
        allowNull: false,
        type: Sequelize.DATE,
      },
      updatedAt: {
        allowNull: false,
        type: Sequelize.DATE,
      },
    });   },   down: async (queryInterface, Sequelize) => {
    await queryInterface.dropTable('PRODUCTEURS');   }, };
    // ASSOCIATION MODELS  'use strict'; const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => {  
     

    администратор класса расширяет модель {
    /**
    * Вспомогательный метод для определения ассоциаций.
    * Этот метод не является частью жизненного цикла Sequelize.
    * models/index Файл автоматически вызовет этот метод.
    / associate(models) { // определить ассоциацию здесь модели.ADMINISTRATEUR.hasMany(модели.КЛИЕНТЫ); модели.ADMINISTRATEUR.hasMany(модели.PRODUITS); модели.ADMINISTRATEUR.hasMany(модели.ADRESSE_CLIENTS); модели.ADMINISTRATEUR.hasMany(модели.CATEGORY_PRODUITS); модели.ADMINISTRATEUR.hasMany(модели.КОМАНДЫ); модели.ADMINISTRATEUR.hasMany(модели.PRODUCTEURS); модели.ADMINISTRATEUR.hasMany(модели.AVIS); } } ADMINISTRATEUR.init( { first_name: типы данных.СТРОКА, last_name: типы данных.СТРОКА, электронная почта: типы данных.СТРОКА, пароль: типы данных.СТРОКА, аватар: типы данных.СТРОКА, }, { sequelize, ИМЯ_МОДЕЛИ: ‘ADMINISTRATEUR’, } ); возвращает ADMINISTRATEUR; }; ‘использовать строго’; const { Model } = требовать (‘sequelize’); module.exports = (sequelize, типы данных) => { класс PRODUCTEURS расширяет модель { /*
    * Вспомогательный метод для определения ассоциаций.
    * Этот метод не является частью жизненного цикла Sequelize.
    * models/index file вызовет этот метод автоматически.
    */
    статический ассоциат (модели) {
    // определите
    модели ассоциации здесь.PRODUCTEURS.belongsTo(модели.АДМИНИСТРАТОР, {
    ForeignKey: {
    AllowNull: false
    }
    });
    Модели.PRODUCTEURS.hasMany(модели.КЛИЕНТЫ);
    Модели.PRODUCTEURS.hasMany(модели.PRODUITS);
    Модели.PRODUCTEURS.hasMany(модели.ADRESSE_CLIENTS);
    Модели.PRODUCTEURS.hasMany(модели.CATEGORY_PRODUITS);
    Модели.PRODUCTEURS.hasMany(модели.COMMANDES);
    } }; PRODUCTEURS.init({
    first_name: типы данных.СТРОКА,
    last_name: типы данных.СТРОКА,
    электронная почта: типы данных.СТРОКА,
    пароль: типы данных.СТРОКА,
    аватар: типы данных.СТРОКА }, {
    sequelize,
    имямоДели: ‘PRODUCTEURS’, }); возвращает PRODUCTEURS; };

Комментарии:

1. можете ли вы показать 20201207141344-create-producteurs.js ?

2. @Anatoly Я вернул его в вопрос

Ответ №1:

Я, наконец, нашел ответ, мне пришлось поместить переменную «const {UniqueConstraintError} = require (‘sequelize / types’)» в комментарий и повторно ввести sequelize db: migrate

Комментарии:

1. что? можете ли вы объяснить это немного подробнее