sequelize 数据类型

Sequelize 提供很多内置数据类型,要访问内置数据类型,必须导入 DataTypes:

const { DataTypes } = require("sequelize"); // 导入内置数据类型

字符串

DataTypes.STRING             // VARCHAR(255)
DataTypes.STRING(1234)       // VARCHAR(1234)
DataTypes.STRING.BINARY      // VARCHAR BINARY
DataTypes.TEXT               // TEXT
DataTypes.TEXT('tiny')       // TINYTEXT
DataTypes.CITEXT             // CITEXT          仅 PostgreSQL 和 SQLite.
DataTypes.TSVECTOR           // TSVECTOR        仅 PostgreSQL.

布尔

DataTypes.BOOLEAN            // TINYINT(1)

数字

DataTypes.INTEGER            // INTEGER
DataTypes.BIGINT             // BIGINT
DataTypes.BIGINT(11)         // BIGINT(11)

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

DataTypes.REAL               // REAL            仅 PostgreSQL.
DataTypes.REAL(11)           // REAL(11)        仅 PostgreSQL.
DataTypes.REAL(11, 12)       // REAL(11,12)     仅 PostgreSQL.

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

DataTypes.DECIMAL            // DECIMAL
DataTypes.DECIMAL(10, 2)     // DECIMAL(10,2)```

日期

DataTypes.DATE       // DATETIME 适用于 mysql / sqlite, 带时区的TIMESTAMP 适用于 postgres
DataTypes.DATE(6)    // DATETIME(6) 适用于 mysql 5.6.4+. 支持6位精度的小数秒
DataTypes.DATEONLY   // 不带时间的 DATE

UUID

对于 UUID,使用 DataTypes.UUID。
对于 PostgreSQL 和 SQLite,它会是 UUID 数据类型;
对于 MySQL,它则变成CHAR(36)。
Sequelize 可以自动为这些字段生成 UUID,只需使用 DataTypes.UUIDV1DataTypes.UUIDV4 作为默认值即可:

{
  type: DataTypes.UUID,
  defaultValue: DataTypes.UUIDV4 // 或 DataTypes.UUIDV1
}

Code examples

const qs_info = sequelize.define('qs_info', {
  SAP_DOC: { type: DataTypes.STRING, allowNull: false },
  CEDL_ID: { type: DataTypes.STRING, },
  YarnColor: { type: DataTypes.STRING, }, 
  Collaudo: { type: DataTypes.STRING, }, 
  DescrSapYarn: { type: DataTypes.STRING, },
  SapYarn: { type: DataTypes.STRING, },
  XYZ: { type: DataTypes.STRING, },
  DTEX: { type: DataTypes.FLOAT, }, 
  FILAMENTS: { type: DataTypes.INTEGER, },
  COLOR_FAMILY: { type: DataTypes.STRING, }, 
  POType: { type: DataTypes.BOOLEAN, }, 
  Antistatic: { type: DataTypes.BOOLEAN, }, 
  ASType: { type: DataTypes.STRING, }, 

  creator: { type: DataTypes.STRING, },
  createdTime: { type: DataTypes.DATE, defaultValue: DataTypes.NOW }, 
  company: { type: DataTypes.STRING }
}, {
  timestamps: false,
});

// qs_info.sync({ force: true }).then(() => { });

module.exports = qs_info;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sequelize.sync()是Sequelize库中的一个方法,用于同步数据库和模型之间的关系。它有几种用法和参数可以选择。其中一些常见的用法和参数包括: 1. sequelize.sync():如果数据库中不存在表,则创建该表。如果表已经存在,则不执行任何操作。 2. sequelize.sync({ force: true }):将创建表,如果表已经存在,则首先删除该表,然后再创建。 3. sequelize.sync({ alter: true }):这将检查数据库中表的当前状态,包括列和数据类型等信息,然后根据需要对表进行必要的更改。 在使用sequelize.sync()方法之前,需要先连接数据库。可以使用Sequelize库提供的Sequelize对象来创建数据库连接。例如,可以使用以下代码连接数据库: const { Sequelize } = require('sequelize'); const config = require('../config/index'); const sequelize = new Sequelize(config); module.exports = sequelize; 在创建模型之后,可以使用sequelize.sync()方法来同步数据库和模型之间的关系。例如,可以使用以下代码创建一个名为BookModel的模型,并将其与数据库同步: const { DataTypes } = require('sequelize'); const sequelize = require('../db/mysqldb2'); const BookModel = sequelize.define( 'bookt', { username: { type: DataTypes.STRING, allowNull: false }, price: { type: DataTypes.INTEGER } }, { paranoid: true } ); sequelize.sync({ force: false, alter: true }); 最后,可以导出模型,以便在其他地方使用。例如,可以使用以下代码导出BookModel模型: module.exports = BookModel; 综上所述,sequelize.sync()方法用于同步数据库和模型之间的关系,可以根据需要使用不同的参数来创建、更新或删除表。 #### 引用[.reference_title] - *1* [node orm Sequelize的简单使用](https://blog.csdn.net/liu893100/article/details/119275984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [sequelize基本用法](https://blog.csdn.net/qq_35886411/article/details/126261833)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值