В этой статье блога мы рассмотрим 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, чтобы заполнить базу данных нужными данными.