[Sistema De Agendamento (Módulo Node.JS - Semana 5)] Perguntas, Respostas e Compartilhamentos

@AlbertoVictorRebello apenas esclarecendo de onde surge o arquivo index.js dentro da pasta models, ele é criado automaticamente quando se inicializa o sequalize no projeto da maneira certa, a qual o professor não ensinou: npx sequelize init. Por isso você não encontrou solução. Certamente ele deixou esse arquivo “em off” e copiou depois para lá. Abraço!

2 Likes

Oi @realmeidabr, obrigado pela explicação.

De fato ouvi no vídeo o professor explicar que seria criado automaticamente. Não sei por qual motivo não ocorreu comigo. Por isso precisei copiar e a partir daí o app funcionou.
Mesmo agora que fiz esse repositorio com um passo a passo não aconteceu.

1 Like

pessoal, estou tentando gravar o mock que nem na aula 7, porém ele não aparece no Postbird, alguem sabe resolver?

import { Router } from 'express';
import User from './app/models/User'

const routes = new Router();

routes.get('/', async (req, res) => {
    const user = await User.create({
            name: 'Carlos',
            email: 'carlosagustodpacheco@gmail.com',
            password_hash: '123456',
        
    });
    return res.json(user)
})

export default routes;
import Sequelize from "sequelize";
import User from "../app/models/User";
import databaseConfig from '../config/database';

const models = [User];

class Database {
    constructor(){
        this.init();
    }

    init() {
        this.connection = new Sequelize
        (databaseConfig);
        models.map(model => model.init(this.connection))
    }
}

export default new Database();
1 Like

Oi @carlosadpacheco, No seu caso não dá erro? Se dá, o que informa?
Por hora minha sugestão seria:
Para separar os contextos onde o erro pode estar ocorrendo:

  1. Executaria o seguinte comando no Postbird. Se um registro for criado significa que está tudo bem com o banco. Como usou o Postbird confirmou também que a conexão está sendo possível.
INSERT INTO users (id, name, email, password_hash,created_at,updated_at) VALUES
(DEFAULT,'newUser', 'email', 'password_hash', now(), now());
  1. Confirmar se a linha abaixo está no seu routes.js (pelo seu post acho que não está) ou app.js:
import Database from './database/index';

é erro de conexão, tem que alterar no config/database.js igual o @michelnegrao mostrou, não só com a url, da uma olada como ficou o meu, na url vai ter as informações que vc precisa. Depois disso funcionou aqui


h

2 Likes

Obrigada @Ari
Eu acabei desistindo da playlist, mas agradeço pela solução sugerida :slight_smile:

Fala pessoal,

Depois de muito tempo gasto, muita leitura e testando quase todas as dicas aqui do tópico, consegui resolver o problema que estava ocorrendo com meu código.

Vou deixar aqui os prints pra demonstrar o último problema que mesmo depois de deixar igual ao do professor, já com as alterações aqui sugeridas ainda persistia.


Este erro demonstra que faltam alguns campos na tabela ‘users’ e apesar de o mesmo indicar através das mensagens que destaquei em vermelho, demorei a entender que esse era o erro e que a forma de resolver seria inserindo tais campos na tabela através do arquivo src\app\models\User.js.

“Dessa forma”, como diz o professor :smile:, é necessário inserí-los, o que acabei fazendo copiando esse arquivo do Github do @michelnegrao :+1:t2:, ficando assim:


Resolvendo com isso, pelo menos até a aula 7, o problema.

Espero que ajude, caso alguém precise.

Fica me apontando esse erro de não encontrar user.email
Alguém enxerga algo que eu não estou conseguindo?

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Eu recomendo fortemente não usar pastas do OneDrive (nem nenhum outro app de cloud storage) para sua pasta de desenvolvimento. As atualizões nesses arquivos não é instantânea e causam diversos problemas.

2 Likes