Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

CRUD NodeJS - #09 Deploy II

05/10/2019

Neste tutorial finalizaremos nosso deploy configurando nosso banco de dados online no servidor Heroku.

Configurando banco de dados no Heroku

Primeiramente precisamos realizar uma nova conexão no Mysql Workbench. Vamos exportar nosso banco local do PhpMyAdmin e abrir o arquivo exportado num editor de códigos.

No editor de códigos retiraremos as aspas padrões do PhpMyAdmin, copiaremos o código e colaremos no Mysql Workbench.

Finalizando o Crud

O código do app.js final ficou assim:

//Variables
const express=require('express');
const bodyParser=require('body-parser');
const mysql=require('mysql');
const handlebars=require('express-handlebars');
const app=express();
const urlencodeParser=bodyParser.urlencoded({extended:false});
const sql=mysql.createPool({
    user: "b926229695df71",
    password: "bbaf5bc2",
    host: "us-cdbr-iron-east-03.cleardb.net",
    database: "heroku_31db7131297b26b"
});
let port=process.env.PORT || 3000;
app.use('/img',express.static('img'));
app.use('/css',express.static('css'));
app.use('/js',express.static('js'));

//Template engine
app.engine("handlebars",handlebars({defaultLayout:'main'}));
app.set('view engine','handlebars');

//Routes and Templates
app.get("/",function(req,res){
   /*res.send("Essa é minha página inicial!");*/
    /*res.sendFile(__dirname+"/index.html");*/
    /*console.log(req.params.id);*/
    res.render('index');
});
app.get("/inserir",function(req,res){res.render("inserir");});
app.get("/select/:id?",function(req,res){
    if(!req.params.id){
        sql.getConnection(function(err,connection){
            connection.query("select * from user order by id asc",function(err,results,fields){
                res.render('select',{data:results});
            });
        });
    }else{
        sql.getConnection(function(err,connection){
            sql.query("select * from user where id=? order by id asc",[req.params.id],function(err,results,fields){
                res.render('select',{data:results});
            });
        });
    }
});
app.post("/controllerForm",urlencodeParser,function(req,res){
    sql.getConnection(function(err,connection){
        connection.query("insert into user values (?,?,?)",[req.body.id,req.body.name,req.body.age]);
        res.render('controllerForm',{name:req.body.name});
    });
});
app.get('/deletar/:id',function(req,res){
    sql.getConnection(function(err,connection){
        connection.query("delete from user where id=?",[req.params.id]);
        res.render('deletar');
    });
});
app.get("/update/:id",function(req,res){
    sql.getConnection(function(err,connection){
            connection.query("select * from user where id=?",[req.params.id],function(err,results,fields){
            res.render('update',{id:req.params.id,name:results[0].name,age:results[0].age});
        });
    });
});
app.post("/controllerUpdate",urlencodeParser,function(req,res){
    sql.getConnection(function(err,connection){
        connection.query("update user set name=?,age=? where id=?",[req.body.name,req.body.age,req.body.id]);
        res.render('controllerUpdate');
    });
});

//Start server
app.listen(port,function(req,res){console.log('Servidor está rodando!');});

No código acima, não esqueça de trocar os dados para os dados do seu banco no Heroku.

Assim que o banco de dados já estiver online, rodaremos o comando pra atualizar todos os nossos arquivos:

git add .
git commit -am "New Update"
git push heroku master

Por hoje é só. Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

CRUD NodeJS - #08 Deploy I
No tutorial de hoje iniciaremos o deploy da nossa aplicação criada em NodeJS para o servidor Heroku.
Saiba mais!
CRUD NodeJS - #10 Modularização e Conclusão
Nesse tutorial falaremos um pouquinho mais modularização no Javascript com NodeJS e como instalar um domínio próprio no Heroku.
Saiba mais!
Crud
Nesse curso aprenderemos como desenvolver uma ClassCrud com conexão ao banco de dados mysql através dos conectores PDO e MYSQLi.
Saiba mais!