Ошибка проверки при заполнении в Sequelize - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь заполнить Sequelize с огромным количеством данных, но при заполнении я получил ошибку "Ошибка проверки". Пожалуйста, смотрите мой код ниже.

"use strict";

const faker = require("faker");
const User = require("../models").User;

module.exports = {
  up: async (queryInterface, Sequelize) => {
    let products = [];
    let amount = 100;

    // 50 users
    let users = await User.findAll();
    let userCodes = users.map(user => user.code);
    // output ['x312scAD', 'F32SDcvrW', ...]

    function randomBetween(min, max) {
      return Math.floor(Math.random() * (max - min + 1) + min);
    }

    // image collections from Unsplash.com
    let imagesCollection = [1163637, 190727, 6780963, 1198107, 762960, 1353633, 3321491, 217461, 2203755];
    let imageWidth = 980;
    let imageHeight = 555;

    var uniqueNumbers = [];
    while (uniqueNumbers.length < amount) {
      var r = Math.floor(Math.random() * 1000) + 1;
      if (uniqueNumbers.indexOf(r) === -1) uniqueNumbers.push(r);
    }

    while (amount--) {
        let randomCollection = randomBetween(0, imagesCollection.length - 1);
        let randomThumbnail = `https://source.unsplash.com/collection/${imagesCollection[randomCollection]}/${imageWidth}x${imageHeight}/?sig=${uniqueNumbers[amount]}`;

        products.push({
          code: 'abc' + faker.random.number(),
          userCode: userCodes[randomBetween(1, userCodes.length-1)],
          title: faker.lorem.sentence(),
          subtitle: faker.lorem.sentence(),
          description: faker.lorem.paragraphs(),
          categoryId: randomBetween(1, 10),
          thumbnail: randomThumbnail,
          createdAt: new Date(),
          updatedAt: new Date()
        });
      }
      return await queryInterface.bulkInsert("products", products, {});
  }
};

PS: у пользователя есть много продуктов

Я думаю, что эта причина Async / await, но я новичок в этом виде. Пожалуйста, дайте мне знать, где моя вина в этом случае.

Может ли кто-нибудь помочь мне правильно посеять семена?

Вот мои правила продукта в моделях .Продукт

code: DataTypes.STRING(12),
userCode: DataTypes.STRING,
title: DataTypes.STRING,
subtitle: DataTypes.STRING,
description: DataTypes.TEXT,
categoryId: DataTypes.INTEGER,
thumbnail: DataTypes.STRING,
createdAt: DataTypes.Date,
updatedAt: DataTypes.Date

PS: я могу иногда сеять

...