Nesse documento, nós vamos ver como fazer o deploy da aplicação Proffy, desenvolvida durante a Next Level Week da Rocketseat, de maneira gratuita, utilizando o Heroku e o Netlify.
Nosso primeiro passo vai ser fazer o upload do nosso servidor, é ele que irá conectar com nosso banco de dados e salvar os dados que serão utilizados pelo nosso frontend.
Se você acompanhou a Next Level Week, você com certeza sabe que nós utilizamos o SQLite, mas aqui não estaremos utilizando ele. Dessa vez, para levar nosso conhecimento um passo a frente, estaremos configurando o PostgreSQL na nossa aplicação.
Está pronto? Então vamos lá! Para começar, vamos abrir nosso projeto no VSCODE, navegando até a pasta server
pelo seu terminal e executando o comando code .
.
O nosso primeiro passo, será remover tudo que não iremos utilizar agora relacionados ao SQLite, para isso estaremos excluindo nosso arquivo database.sqlite
e removendo a biblioteca sqlite3
com o seguinte comando:
// Utilizando NPM
npm uninstall sqlite3
// Utilizando Yarn
yarn remove sqlite3
Agora que já estamos preparados para prosseguir configurando, adicionaremos a biblioteca do PostgreSQL, da seguinte forma:
npm install pg
// Ou
yarn add pg
Feito isso, você já deve estar se perguntando "E agora, como irei me conectar com o banco de dados que eu possuia?". Pois então, nós não iremos! Como iremos utilizar um novo banco de dados, iremos começar configurando a conexão com ele, então iremos partir editando nosso arquivo knexfile.ts
na raíz do nosso projeto.
Caso você tenha acompanhado a NLW, ele deverá estar da seguinte forma:
import path from 'path'
module.exports = {
client: 'sqlite3',
connection: {
filename: path.resolve(__dirname, 'src', 'database', 'database.sqlite'),
},
migrations: {
directory: path.resolve(__dirname, 'src', 'database', 'migrations')
},
useNullAsDefault: true
}
Agora vamos alterar os dados que temos nesse arquivo para começar a parecer com o que teremos em produção. Primeiro vamos alterar a chave client
para possuir o valor pg
. Além disso removemos completamente a linha 6, e alteramos ela pelo seguinte:
host: 'localhost',
user: 'postgres',
password: 'docker',
database: 'proffy',
Mas CALMA! Não se preocupe, se você ainda não sabe de onde eu tirei esse host, user, password e database, vamos lendo até o final que você logo logo irá entender como irá funcionar!
O resultado final ficará dessa forma: