Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mudar nome de coluna depois da migração

Olá eu estou com um problema, durante o curso "ORM com Node: API com Sequelize e MySQL, um npx sequelize-cli db:migrate para criar as tabelas do curso, porém na hora de popular as tabelas com os seeds eu vi que em uma das tabelas o nome de um dos campos estava errado, era para ser docente_id e eu escrevi docet_id.

Gostaria de saber como eu faço para alterar o nome desse campo?

Eu corrigir o nome do campo no arquivo de migração de depois rodei novamente o comando npx sequelize-cli db:migrate, porém quando faço isso eu recebo a mensagem:

"No migrations were executed, database schema was already up to date."

2 respostas
solução!

Oi Bruno, tudo bem? Já conseguiu alguma solução? Bom, minha sugestão é que você volte com o nome anterior que estava incorreto, desfaça as migrações todas com o comando npx sequelize-cli db:migrate:undo, isso vai desfazer todas as migrações, ai você corrige o nome da coluna e executa novamente as migrações com o npx sequelize-cli db:migrate.

Agora, por que você recebe essa mensagem? Simples, o sequelize vai registrando no próprio banco de dados, quais migrações ele já executou para quando houver novas migrações, ele executar apenas nas novas e não todas as migrações existentes. Tem outras vantagens nessa estratégia, mas por hora, isso explica por que essa mensagem apareceu pra você, ele já tinha executado todas as migrações e a sua correção foi feita em uma migração já executada, por isso ele não fez nada.

Se ficou confuso, me fala aqui que eu te explico melhor :)

Oi Wanderson,

obrigado pela a ajuda, foi exatamente o eu fiz para resolver o problema. Com a sua explicação eu consegui entender o motivo da mensagem recebida, obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software