Sobes.tech
Junior — Middle

ORM sistemlerindeki göç kavramını ve veritabanı şemasinin yönetimindeki rollerini açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

ORM'deki göçler, uygulama geliştirme sürecinde veritabanı yapısındaki (şema) değişiklikleri yönetmek için bir mekanizmadır. Bu, veritabanına ardışık olarak değişiklikler uygulamayı (tabloların, sütunların, indekslerin oluşturulması, değiştirilmesi, silinmesi vb.) sağlar ve bu değişikliklerin geçmişini tutar.

Göçlerin rolü:

  • Veritabanı şemasının koddaki veri modeliyle tutarlı olmasını sağlar.
  • Uygulamada değişiklikler olduğunda veritabanını kolayca güncellemeye olanak tanır.
  • Takım çalışmasını kolaylaştırır, çünkü göçler sürüm kontrol sisteminde saklanabilir.
  • Gerekirse değişiklikleri geri almayı sağlar.

Örnek: Node.js'te Sequelize kullanılarak bir göç şu şekilde görünebilir:

module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.createTable('Users', {
      id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
      name: { type: Sequelize.STRING, allowNull: false },
      createdAt: Sequelize.DATE,
      updatedAt: Sequelize.DATE
    });
  },
  down: async (queryInterface) => {
    await queryInterface.dropTable('Users');
  }
};

Bu şekilde, göçler veritabanının evrimini kontrollü ve tekrarlanabilir hale getirir.