دوره‌ها / Node.js / Migrations (Database Migrations)

Migrations (Database Migrations)

15 دقیقه Article

Migrations: مدیریت تغییرات Schema 🗄️

Migrations برای مدیریت تغییرات schema در دیتابیس استفاده میشن!

Mongoose Migrations:

// استفاده از migrate-mongoose
// npm install migrate-mongoose

// migrations/001-add-email-field.js
module.exports = {
    async up(db) {
        await db.collection('users').updateMany(
            {},
            { $set: { email: '' } }
        );
    },
    async down(db) {
        await db.collection('users').updateMany(
            {},
            { $unset: { email: '' } }
        );
    }
};

Sequelize Migrations:

// ساخت migration
// npx sequelize-cli migration:generate --name add-email-to-users

// migrations/xxx-add-email-to-users.js
module.exports = {
    up: async (queryInterface, Sequelize) => {
        await queryInterface.addColumn('Users', 'email', {
            type: Sequelize.STRING,
            allowNull: true
        });
    },
    down: async (queryInterface, Sequelize) => {
        await queryInterface.removeColumn('Users', 'email');
    }
};

// اجرای migrations
// npx sequelize-cli db:migrate
// npx sequelize-cli db:migrate:undo
✅ یاد گرفتید: Migrations برای version control دیتابیس عالیه!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید