Import the Sequelize module into your Node project
npm i sequelize
Add the specific database driver to coincides with the SQL DBMS that you are using:
npm i --save pg pg-hstore
Connect to the database in your Node application
Option 1: Passing a connection URI
const sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname') module.exports = sequelize;
Option 2: Passing parameters separately (other dialects)
const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'postgres' }); module.exports = sequelize;
Test the connection
try { await sequelize.authenticate(); console.log('Connection has been established successfully.'); } catch (error) { console.error('Unable to connect to the database:', error); }
Create a new model
The db variable is imported from the Sequelize connection above (Opt 1 or 2) which we are assuming is in a separate file.
const Sequelize = require('sequelize'); const db = require('../config/database'); const Person = db.define('gig', { name: { type: Sequelize.STRING }, age: { type: Sequelize.INTEGER }, description: { type: Sequelize.STRING } }); module.exports = Person;
Start making Sequelize queries in server routes
The beauty of Sequelize is that it allows you to use object-oriented syntax to make queries to relational/SQL databases.
app.get('/', (req, res) => Person.findAll() .then(people => console.log(people)) .catch(err => console.log(err)));