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

Erro na hora de criar migrations addColumn

Ola, alguém pode me ajudar com a criação das migrations das colunas no banco? Quando eu rodo o npx sequelize-cli db:migrate no terminal ele me retorna : Loaded configuration file "api\config\config.json". Using environment "development". == 20211001010516-addcolumn-niveis: migrating =======

ERROR: Cannot read property 'toString' of undefined

vi que alguém deve o mesmo problema por aqui, mas a resposta não me pareceu muito clara por isso decidi perguntar...

Segue imagens: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

outra coisa que estou com dúvidas é se devo colocar "paranoid" conforme abaixo devido meu projeto te sido iniciado na versao : "sequelize": "^6.6.5", ele é um pouco diferente.

'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class Niveis extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      // define association here
      Niveis.hasMany(models.Turmas, {
        foreignKey: 'nivel_id'
      })
    }
  };
  Niveis.init({
    descr_nivel: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'Niveis',
    paranoid: true
  });
  return Niveis;
};
1 resposta
solução!

consegui resolver, erra um erro por esquecimento:

código correto:

'use strict';
module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.addColumn('Turmas', 'deleteAt', {

      allowNull: true,
      type: Sequelize.DATE

    });
  },
  down: async (queryInterface, Sequelize) => {
    await queryInterface.removeColumn('Turmas', 'deleteAt');
  }
};

Eu havia me esquecido de retirar parte do código anterior que estava assim:

'use strict';
module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.addColumn('Turmas', 'deleteAt', {
      id: {
        allowNull: true,
        type: Sequelize.DATE
      },
    });
  },
  down: async (queryInterface, Sequelize) => {
    await queryInterface.removeColumn('Turmas', 'deleteAt');
  }
};

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