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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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_classAltere 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!