Junior — Middle
Објасните концепт миграција у ORM системима и њихову улогу у управљању шемом базе података.
sobes.tech АИ
Одговор од АИ
Migracije u ORM-u su mehanizam za upravljanje promenama strukture baze podataka (šema) tokom razvoja aplikacije. Omogućavaju sekvencijalno primenjivanje promena (kreiranje, modifikovanje, brisanje tabela, kolona, indeksa itd.) na bazi podataka, čuvajući istoriju tih promena.
Uloga migracija:
- Osiguravaju usklađenost šeme baze podataka sa modelom podataka u kodu.
- Olakšavaju ažuriranje baze podataka pri promenama u aplikaciji.
- Pojednostavljuju timski rad, jer migracije mogu biti sačuvane u sistemu kontrole verzija.
- Omogućavaju vraćanje promena ako je potrebno.
Primer: u Node.js sa Sequelize, migracija može izgledati ovako:
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');
}
};
Na ovaj način, migracije pomažu u kontrolisanom i ponovljivom upravljanju evolucijom baze podataka.