
Full Answer
What is Sequelize Orm?
According to the docs “Sequelize is a promise-based ORM for Node.js v4 and upwards. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL and features solid transaction support, relations, read replication and more.”
What is Sequelize and why should I Care?
What is sequelize? According to the docs “Sequelize is a promise-based ORM for Node.js v4 and upwards. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL and features solid transaction support, relations, read replication and more.”
How to add custom options to SQLite dialect options in Sequelize?
You can provide custom options to it using the dialectOptions in the Sequelize constructor: The following fields may be passed to SQLite dialectOptions: mode: Set the opening mode for the SQLite connection. Potential values are provided by the sqlite3 package, and can include SQLite.OPEN_READONLY, SQLite.OPEN_READWRITE, or SQLite.OPEN_CREATE.
What is Sequelize in Node JS?
According to the docs “Sequelize is a promise-based ORM for Node.js v4 and upwards. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL and features solid transaction support, relations, read replication and more.” A promise in Nodejs is an event which will produce a result in the future.

What is an ORM
An ORM is known as Object Relational Mapper. This is a tool or a level of abstraction which maps (converts) data in a relational database into programmatic objects that can be manipulated by a programmer using a programming language (usually an OOP language).
Benefits of using ORMs
ORMs save time in writing raw SQL queries thereby reducing development time.
Features of Sequelize
Sequelize is packed with lots of features, below are a couple of features we will cover in this series on sequelize and more.
Conclusion
In the series, we will be building a REST API for a book service. A basic understanding of SQL, NodeJS, and ExpressJS are good to have before reading through.
rohitsud commented on Jul 26, 2017
This should also be a part of breaking changes for v4.0.0 instead of just being in the changelog.
eseliger commented on Aug 1, 2017
Thank you for reporting this, I will update the docs. Yes, the dialect is requires as of v4. If using a URI, the protocol is used to infer the dialect type, otherwise, when using the host, username, .. variant, the protocol needs to be set.
yassin-mokni commented on Sep 9, 2017
face the same issue and fixed it by setting the NODE_ENV to the specified environment in the config.json
Mr-emeka commented on Jun 11, 2018
Having this same issue " throw new Error ('Dialect needs to be explicitly supplied as of v4.0.0')" and dialect has been specified in my config.Json file..
aron-ivarsson commented on Nov 4, 2020
Why is this closed? This error still persists, and I can't seem to find a solution. Even though you specify dialect, it throws this error.
kwalew commented on Nov 12, 2020
I am getting this error as well. I'm not using a config file, and below is the list of packages: