Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Adicionando uma nova coluna

Vamos supor que irei adicionar uma nova coluna em uma tabela (coluna_nova) Fiz a migration para adicionar na tabela e adicionei as constraints, tudo ok ai. A questão é : no mysql esta tudo ok, a migration deu tudo certo porém, no meu modelo (que já existia apenas adicionei uma nova coluna) eu devo simplesmente estar escrevendo a mão a coluna adicionada com os validation ou eu preciso estar rodando um comando especifico do sequelize ?

1 resposta
solução!

Oi Leonardo! Tudo bem?

Quando você adiciona uma nova coluna em uma tabela, você já fez a migração corretamente para refletir essa mudança no banco de dados. Agora, você precisa atualizar o modelo Sequelize para incluir essa nova coluna. Sim, você deve adicionar manualmente a nova coluna no modelo, especificando os tipos e validações necessários.

Aqui está um exemplo prático de como você pode fazer isso:

  1. Atualizar a Migração

    Você já fez isso, mas só para garantir, aqui está um exemplo de como adicionar uma nova coluna coluna_nova em uma migração:

    'use strict';
    
    module.exports = {
      up: async (queryInterface, Sequelize) => {
        await queryInterface.addColumn('nome_da_tabela', 'coluna_nova', {
          type: Sequelize.STRING,
          allowNull: false,
          // outras opções de configuração
        });
      },
    
      down: async (queryInterface, Sequelize) => {
        await queryInterface.removeColumn('nome_da_tabela', 'coluna_nova');
      }
    };
    
  2. Atualizar o Modelo

    Após rodar a migração, você precisa atualizar o modelo Sequelize para refletir essa nova coluna. Supondo que seu modelo esteja em um arquivo nomeDoModelo.js, você deve adicionar a nova coluna lá:

    module.exports = (sequelize, DataTypes) => {
      const NomeDoModelo = sequelize.define('NomeDoModelo', {
        // outras colunas
        coluna_nova: {
          type: DataTypes.STRING,
          allowNull: false,
          // outras validações
        }
      }, {
        // opções do modelo
      });
    
      return NomeDoModelo;
    };
    
  3. Rodar a Migração

    Certifique-se de rodar a migração para aplicar as mudanças no banco de dados:

    npx sequelize db:migrate
    
  4. Verificar se Tudo Está Funcionando

    Depois de fazer essas alterações, você pode testar para garantir que a nova coluna está funcionando corretamente. Tente criar e buscar registros que utilizem essa nova coluna para verificar se tudo está em ordem.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.