CRUD NodeJS - #09 Deploy II
05/10/2019Neste 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!
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.
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.