Migrations (Database Migrations)
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 دیتابیس عالیه!
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.