Sobes.tech
Junior — Middle

Vysvětlete koncept migrací v systémech ORM a jejich roli v řízení schématu databáze.

sobes.tech AI

Odpověď od AI

Migrace v ORM jsou mechanismus pro správu změn struktury databáze (schématu) během vývoje aplikace. Umožňují postupně aplikovat změny (vytváření, úpravy, mazání tabulek, sloupců, indexů atd.) na databázi a uchovávat historii těchto změn.

Role migrací:

  • Zajišťují konzistenci schématu databáze s datovým modelem v kódu.
  • Usnadňují aktualizaci databáze při změnách v aplikaci.
  • Zjednodušují týmovou práci, protože migrace lze ukládat v systému správy verzí.
  • Umožňují vrátit změny zpět, pokud je to potřeba.

Příklad: v Node.js s Sequelize může migrace vypadat takto:

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');
  }
};

Tímto způsobem migrace pomáhají řídit evoluci databáze kontrolovaným a opakovatelným způsobem.