#mysql #database #configuration #sequelize.js #database-migration
#mysql #База данных #конфигурация #sequelize.js #база данных-миграция
Вопрос:
- 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. что? можете ли вы объяснить это немного подробнее