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

Rethrow non-MySQL errors

TypeError: this.criarAtendimentos is not a function

const customExpress = require('./config/customExpress')
const conexao = require('./infraestrutura/conexao')
const Tabelas = require('./infraestrutura/tabelas')

conexao.connect(erro => {
  if (erro) {
    console.log(erro)

  } else {
    console.log('conectado com sucesso')

    Tabelas.init(conexao)
    const app = customExpress()

    app.listen(3000, () => console.log('servidor rodanda na porta 3000'))
  }
})


class Tabelas {
  init(conexao) {
    this.conexao = conexao;

    this.criarAtendimentos();
  }

  criarAtendimento() {
    const sql = 'CREATE TABLE Atendimentos (id int NOT NULL      AUTO_INCREMENT, cliente varchar(50) NOT NULL, pet varchar(20),      servico varchar(20) NOT NULL, status varchar(20) NOT NULL,      observacoes text PRIMARY KEY(id))'

      this.conexao.query(sql, erro => {
          if(erro) {
              console.log(erro)
          } else {
              console.log('Tabela Atendimentos criada com sucesso')
          }
      })
  }
}

module.exports = new Tabelas
2 respostas

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id))' at line 1

code: 'ER_PARSE_ERROR', errno: 1064, sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id))' at line 1", sqlState: '42000', index: 0, sql: 'CREATE TABLE Atendimentos (id int NOT NULL AUTO_INCREMENT, cliente varchar(50), pet varchar(20), servico varchar(20) NOT NULL, status varchar(20) NOT NULL, observacoes text PRIMARY KEY(id))' }

solução!

Faltou separar por vírgula em observacoes text PRIMARY KEY(id), que deve ser observacoes text, PRIMARY KEY(id)

Por favor, consulte sempre o código disponível no github (https://github.com/alura-cursos/nodejs-api-rest) em caso de erros.