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

Está dando erro e não salva ao enviar pelo Postman

*Error: *

Tabela Atendimentos criada com sucesso Error: ER_BAD_FIELD_ERROR: Unknown column 'cliente' in 'field list' at Query.Sequence._packetToError (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14) at Query.ErrorPacket (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\sequences\Query.js:79:18) at Protocol._parsePacket (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\Parser.js:43:10) at Protocol.write (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket.<anonymous> (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\Connection.js:88:28) at Socket.<anonymous> (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\Connection.js:526:10) at Socket.emit (events.js:315:20) at addChunk (_stream_readable.js:309:12) at Protocol._enqueue (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Connection.query (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\mysql\lib\Connection.js:198:25) at Atendimento.adiciona (C:\Cursos\alura\Node\projeto-nodes-rest\models\atendimentos.js:9:17) at C:\Cursos\alura\Node\projeto-nodes-rest\controllers\atendimentos.js:12:21 at Layer.handle [as handle_request] (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\layer.js:95:5) at next (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\route.js:137:13) at Route.dispatch (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\layer.js:95:5) at C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\index.js:281:22 at Function.process_params (C:\Cursos\alura\Node\projeto-nodes-rest\node_modules\express\lib\router\index.js:335:12) { code: 'ER_BAD_FIELD_ERROR', errno: 1054, sqlMessage: "Unknown column 'cliente' in 'field list'", sqlState: '42S22', index: 0, sql: "INSERT INTO Atendimentos SET `cliente` = 'Juliana', `pet` = 'Bolt', `servico` = 'tosa', `status` = 'agendado', `observacoes` = 'Muito bonzinho'" } [nodemon] restarting due to changes... [nodemon] starting `node index.js`

Models.Atendimento

const conexao = require('../infraestrutura/conexao')


class Atendimento{

    adiciona(atendimento){
        const sql = 'INSERT INTO Atendimentos SET ?'

        conexao.query(sql, atendimento,( erro ) => {
            if(erro){
                console.log(erro)
            }else{
                console.log(resultados)
            }
        })
    }
}

module.exports = new Atendimento

Controller.Atendimento

const Atendimento = require('../models/atendimentos')

module.exports = app =>{

    app.get('/atendimentos', (req, res) => {

        res.send('Você está na rota de atendimentos e está realizando um get')
    })

    app.post('/atendimentos', (req, res) => {
        const atendimento = req.body
        Atendimento.adiciona(atendimento)
        res.send('Adicionar atendimento')
    })

Class: Tabelas

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

        this.criarAtendimentos()
    }

    criarAtendimentos(){
        const sql = 'CREATE TABLE IF NOT EXISTS Atendimentos ( id int NOT NULL AUTO_INCREMENT, liente varchar(50) NOT NULL, pet varchar(20), servico varchar(20) NOT NULL, status varchar(20) NOT NULL, observacoes text, PRIMARY KEY (id)) ENGINE=InnoDB;'

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

module.exports = new Tabelas
2 respostas
solução!

Achei o meu erro, faltou o c de cliente.

Obrigada.

Olá, Val! Espero que esteja tudo bem com você!

Desculpe a demora na resposta mas gostaria de parabenizá-la por ter encontrado a solução de forma autônoma. Às vezes é somente uma letra faltando, algo escrito de forma incorreta ou mesmo um escopo sendo fechado fora do lugar pra quebrar uma aplicação inteira, e esse processo de analisar o código e observar os detalhes é extremamente importante. Dessa forma, parabéns novamente!

Obrigada também por compartilhar a solução do problema conosco, certamente irá ajudar outros alunos e essa postura só fortalece a comunidade aqui da Alura.

Um abraço e bons estudos!! :)