Skip to main content
Version: v7 - alpha

Other databases

If you are using a database that is not currently supported by Sequelize, there are a few options available to you:

Requesting support for a new dialect

You can request support for a new dialect by creating a feature request on the Sequelize repository. Make sure to verify that there isn't already an open issue for the dialect you are requesting. View the list of requests for new dialects here.

We have conditions for accepting new dialects:

  • The database must support SQL queries.
  • The database must have an existing Node.js library we can use to connect to it.
  • We must be able to run a database instance in GitHub Codespaces, as a way to ensure we can run a database for local development.
  • We must be able to run a database instance in GitHub Actions, to integrate it in our integration tests.
  • Our integration tests must be able to run against the database in 15 minutes or less.

It is also possible to sponsor the development of a new dialect. If you are interested in this option, please contact us via email. Please keep in mind that the above conditions still apply to sponsored dialects, and that implementing a new dialect can be a significant investment.

If the dialect matches the requirements, we will consider implementing a new dialect once it is requested by enough users, or if it is sponsored. Individual contributors may also contribute a new dialect if they wish.

Contributing a new dialect

important

We do not accept new dialects for Sequelize 6.

If you wish to open a pull request to add a new dialect, please follow the steps below:

  • Make sure the dialect would match the requirements for inclusion in Sequelize.
  • Open a feature request for the new dialect, if one does not already exist.
  • Indicate that you are working on implementing the dialect in the feature request (even if it's not your own request).
  • Explore the source code of an existing dialect package to understand how it works. We unfortunately do not have a guide for creating a new dialect at this time.

Creating a third-party dialect

important

While we are slowly working towards providing a stable public API to create third-party dialects, many necessary APIs are still internal and subject to change.

If you do implement a third-party dialect, please be aware that it may break in future non-major versions of Sequelize.

If your dialect does not match the requirements for inclusion in Sequelize, you can create a third-party dialect.

Each dialect is a separate package that extends Sequelize with the necessary functionality to connect to the database. Third-party dialects can be published on npm and used in your project like any other package.

Consider exploring the source code of an existing dialect package to understand how it works. We unfortunately do not have a guide for creating a new dialect at this time.