Понимание раздающих баз данных в Sequelize: подробное руководство

В этой статье блога мы рассмотрим Sequelize и его инструмент CLI, уделив особое внимание команде «sequelize-cli createсидер». Мы углубимся в концепцию сеялок баз данных, обсудим, почему они полезны, и предоставим многочисленные примеры кода различных методов создания сеялок с помощью Sequelize.

Что такое системы раздачи базы данных?
Разделы базы данных — это сценарии или файлы, которые позволяют заполнять базу данных исходными данными. Они особенно полезны во время разработки, тестирования или при настройке новой среды. Sequelize, мощная библиотека объектно-реляционного сопоставления (ORM) для Node.js, предоставляет удобный способ создания сидов и управления ими с помощью инструмента CLI.

Метод 1: создание базовой сеялки
Чтобы создать базовую сеялку с помощью Sequelize CLI, выполните в терминале следующую команду:

npx sequelize-cli seed:generate --name <SeederName>

Эта команда создает новый файл раздачи в каталоге «seeders» с отметкой времени и указанным именем.

Метод 2: заполнение данных
После того, как у вас есть файл раздачи, вы можете заполнить свою базу данных данными. В сгенерированном файле раздачи вы найдете функции upи down. В функции upвы определяете данные, которые будут вставлены в базу данных. Вот пример:

'use strict';
module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.bulkInsert('Users', [
      { name: 'John Doe', email: 'john@example.com' },
      { name: 'Jane Smith', email: 'jane@example.com' },
    ], {});
  },
  down: async (queryInterface, Sequelize) => {
    await queryInterface.bulkDelete('Users', null, {});
  }
};

В этом примере мы вставляем две записи пользователей в таблицу «Пользователи».

Метод 3: использование Faker.js для тестовых данных
Чтобы генерировать тестовые данные в ваших сидах, вы можете использовать библиотеку Faker.js. Сначала установите его, выполнив:

npm install faker

Затем вы можете использовать методы Faker.js в своих сеялках для создания реалистичных тестовых данных. Вот пример создания 10 случайных пользователей:

const faker = require('faker');
module.exports = {
  up: async (queryInterface, Sequelize) => {
    const users = [];
    for (let i = 0; i < 10; i++) {
      users.push({
        name: faker.name.findName(),
        email: faker.internet.email(),
      });
    }
    await queryInterface.bulkInsert('Users', users, {});
  },
  down: async (queryInterface, Sequelize) => {
    await queryInterface.bulkDelete('Users', null, {});
  }
};

Разделы баз данных — это мощный инструмент в Sequelize, упрощающий процесс заполнения базы данных исходными данными. В этой статье мы рассмотрели три различных метода создания сеялок, включая базовое создание сеялок, заполнение данных и использование Faker.js для генерации тестовых данных. Используя эти методы, вы сможете сэкономить время и усилия при настройке и управлении базой данных в Sequelize.

Не забудьте запустить сеялки с помощью соответствующей команды Sequelize CLI, чтобы заполнить базу данных нужными данными.