2
respostas

Pessoas.js foi criado com erro

Fala, to seguindo o curso e assim como em um tópico já criado aqui, o sequelize está mais atualizado do que a versão usada pela prof.

O arquivo que foi criado é o seguinte;

'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class model - usuario - orm 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
    }
  };
  model - usuario - orm.init({
    nome: DataTypes.STRING,
    cpf: DataTypes.STRING,
    login: DataTypes.STRING,
    password: DataTypes.STRING,
    email: DataTypes.STRING,
    isadm: DataTypes.BOOLEAN,
    data_nascimento: DataTypes.DATE,
    reset_password: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'model-usuario-orm',
  });
  return model - usuario - orm;
};

O problema é que ele já vem com erro na linha 6 onde tem o '-' e o 'extends model', também tem erro na linha 12 onde tem o método estático associate, o que fazer?

2 respostas

Já descobri é pq separei o nome com "-". deletei oarquivo e recriei ele. Só uma dúvida, se eu já tenho o banco pronto e as tabelas, o sequelize conseuge importar elas? Se não não vejo utilidade em ter que criar tudo de novo pelo sequelize

Oi Igor!

Sim, você pode usar qualquer banco que já tenha criado e só fazer a conexão com o Sequelize, desde que seja um banco SQL que tenha suporte: Postgres, MySQL, MariaDB, SQLite ou MS SQL Server.

Nesse caso, infelizmente não há como o Sequelize "varrer" a database e criar os modelos automaticamente; vai ser necessário criar os arquivos dos models de acordo com as tabelas do banco já existente. A documentação do Sequelize dá o modelo de como criar os arquivos.

IMPORTANTE! Confira a hierarquia de pastas e arquivos para que o Sequelize não se perca na hora de acessar a pasta models. Quando iniciamos um novo projeto do zero com Sequelize, ele cria uma estrutura básica de pastas e vai utilizar essa estrutura para navegar e acessar models, migrations e config. Caso esteja trabalhando com uma estrutura de pastas diferente, utilize o arquivo .sequelizerc para definir os caminhos de pastas e arquivos. A documentação sobre como funciona o .sequelizerc está aqui.

Bons estudos ;)