Junior — Middle
Explique o conceito de migrações em sistemas ORM e seu papel na gestão do esquema do banco de dados.
sobes.tech IA
Resposta da IA
As migrações em ORM são um mecanismo para gerir as alterações na estrutura da base de dados (esquema) durante o desenvolvimento da aplicação. Permitem aplicar sequencialmente alterações (criar, modificar, eliminar tabelas, colunas, índices, etc.) na base de dados, mantendo um histórico dessas alterações.
Papel das migrações:
- Garantem a coerência do esquema da base de dados com o modelo de dados no código.
- Facilitam a atualização da base de dados quando há alterações na aplicação.
- Simplificam o trabalho em equipa, pois as migrações podem ser guardadas num sistema de controlo de versões.
- Permitem reverter alterações se necessário.
Exemplo: em Node.js, usando Sequelize, uma migração pode parecer assim:
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');
}
};
Assim, as migrações ajudam a gerir a evolução da base de dados de forma controlada e reproduzível.