Sobes.tech
Junior — Middle

Selgitage ORM-süsteemides migratsioonide kontseptsiooni ja nende rolli andmebaasi skeemi haldamisel.

sobes.tech AI

Vastus AI-lt

ORM-i migratsioonid on mehhanism andmebaasi (skeemi) struktuuri muudatuste haldamiseks rakenduse arendamise ajal. Need võimaldavad järjekindlalt rakendada muudatusi (tabelite, veergude, indeksite loomine, muutmine, kustutamine jne) andmebaasis ning säilitada nende muudatuste ajalugu.

Migratsioonide roll:

  • Tagab andmebaasi skeemi vastavuse koodis oleva andmemudeliga.
  • Lihtsustab andmebaasi uuendamist rakenduse muudatuste korral.
  • Lihtsustab meeskonnatööd, kuna migratsioone saab hoida versioonikontrollisüsteemis.
  • Võimaldab vajadusel muudatusi tagasi pöörata.

Näide: Node.js-is Sequelize kasutades võib migratsioon välja näha järgmiselt:

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

Sellisel viisil aitavad migratsioonid hallata andmebaasi arengut kontrollitaval ja korduvkasutataval viisil.