Heroku is a platform for hosting databases, and we will use it to host our postgreSQL databases. Use the link below and create an account:
SQL Tabs is an application for interacting with your hosted database. Download it here:
When dealing with sensitive information, such as API Keys and Database URL's, you want to ensure that information stays private. Dotenv is a package that allows you to create environmental variables that allow you to keep your data safe. To install it, run the following command:
npm install dotenv
Once installed, create a '.env' file at the root of your project:
As soon as it is created, put the .env file in your .gitignore file to avoid pushing it to GitHub.
In your '.env' file, you can store environmental variables:
SERVER_PORT=4040
CONNECTION_STRING=database_url_here + ?ssl=true
Note: Do NOT put semicolons at the end of these variables. ?ssl=true adds extra protection to your database URL.
Once environmental variables have been created, require dotenv at the top of your main server file like so:
require('dotenv').config()
Then you can destructure values off of the 'process.env' object that dotenv creates for you.
const {SERVER_PORT, CONNECTION_STRING} = process.env;
Massive is a package that allows you to interact with your hosted database. To install it, run the following command:
npm install massive
Once installed, require it to your main server file
const massive = require('massive');
Once massive is installed and required, it can then be invoked to create a constant connection with your database:
massive(CONNECTION_STRING).then((dbInstance) => {
app.set('db', dbInstance);
});
Once a connection to your database has been established, you can begin to create SQL queries in your project. First, create a 'db' folder at the root of your project:
Inside of the 'db' folder, you will want to include a seed file. The seed file should contain the create statements for your database schema, should you need them for any reason. Other SQL queries can also be added and included in this folder.