Criei um campo chamado "name" na model de turmas e testei fazer undo nas migrations e nos seeds e refazer o processo, entretanto não surtiu efeito.
Qual seria a forma correta de se acrescentar um campo após já a criação do banco? E como fazer?
Criei um campo chamado "name" na model de turmas e testei fazer undo nas migrations e nos seeds e refazer o processo, entretanto não surtiu efeito.
Qual seria a forma correta de se acrescentar um campo após já a criação do banco? E como fazer?
Mais fácil do que pensei, lendo a documentação alguns minutos depois entendi melhor para que servem as migrations e vou deixar aqui descrito caso alguém também precise.
Gere uma nova migration com o nome da modificação que quer fazer, no meu caso:
npx sequelize migration:create --name add_name_to_class
Altere dentro da migration gerada a modificação que deseja, no meu caso adicionar uma nova coluna ficando assim:
'use strict';
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.addColumn('Classes', 'name', {
type: Sequelize.STRING,
allowNull: true
});
},
async down (queryInterface, Sequelize) {
await queryInterface.removeColumn('Classes', 'name');
}
};
Obs: importante adicionar o "allowNull:true" para possibilitar que seja nulo este campo se você já tiver dados nesta tabela.
Após isto rode para migrar:
npx sequelize db:migrate
E isto irá criar um novo campo na tabela.
Oi, Gregory, tudo bom?
Que bacana que você encontrou a solução e ainda compartilhou aqui! Vai ajudar muitos outros alunos e alunas :)
Continue assim. Abraços e bons estudos!