Sequelize data types list

Sequelize provides support for most data types that you can find in SQL-based databases.

When defining types, you can use both Sequelize class and DataTypes class interchangeably as shown below:

const User = sequelize.define(

 “User”,

 {

  firstName: DataTypes.STRING,

  lastName: Sequelize.STRING,

 },

 {

  timestamps: false,

 }

);

Some of the data types supported by Sequelize are as follows:

Sequelize.STRING       // VARCHAR(255)

Sequelize.STRING.BINARY    // VARCHAR BINARY

Sequelize.TEXT        // TEXT

Sequelize.TEXT(‘tiny’)    // TINYTEXT

Sequelize.BOOLEAN       // TINYINT(1)

Sequelize.INTEGER       // INTEGER

Sequelize.BIGINT       // BIGINT

Sequelize.BIGINT(11)     // BIGINT(11)

Sequelize.FLOAT        // FLOAT

Sequelize.FLOAT(11)      // FLOAT(11)

Sequelize.FLOAT(11, 10)    // FLOAT(11,10)

Sequelize.DOUBLE       // DOUBLE

Sequelize.DOUBLE(11)     // DOUBLE(11)

Sequelize.DOUBLE(11, 10)   // DOUBLE(11,10)

Sequelize.DECIMAL       // DECIMAL

Sequelize.DECIMAL(10, 2)   // DECIMAL(10,2)

Sequelize also supports many types that are available only for specific vendors.

For MySQL and MariaDB, you can define unsigned or zero fill integers as shown below:

Sequelize.INTEGER.UNSIGNED

Sequelize.INTEGER.ZEROFILL

Sequelize.INTEGER.UNSIGNED.ZEROFILL // both unsigned and zero fill

You can use the unsigned or zero fill options for INTEGER, BIGINT, FLOAT, and DOUBLE types.

Sequelize also has support for the date types.

Sequelize.DATE is used for DATETIME column, while Sequelize.DATEONLY is used for DATE column (no timestamp):

Sequelize.DATE    // DATETIME for MySQL and SQLite, TIMESTAMP for Postgres

Sequelize.DATEONLY  // DATE without time.

Leave a comment

Your email address will not be published. Required fields are marked *