Sequelize-创建表
  TEZNKK3IfmPf 2023年11月14日 42 0

首先需要创建一个​​Node​​ 项目

npm init -y
  • 然后安装​​Sequelize​
npm install sequelize
  • 导入​​Sequelize​
const Sequelize = require('sequelize');
  • 配置连接信息:
  • 第一个参数:要操作的数据库名称
  • 第二个参数:数据库用户名
  • 第三个参数:数据库密码
  • 第四个参数:其它的配置信息
const sequelize = new Sequelize('bntang', 'root', 'root', {
// MySQL服务器地址
host: '127.0.0.1',
// MySQL服务器端口号
port: 3306,
// 注意点: Sequelize不仅仅能操作MySQL还能够操作其它类型的数据库
// 告诉Sequelize当前要操作的数据库类型
dialect: 'mysql',
// 连接池
pool: {
// 最多有多少个连接
max: 5,
// 最少有多少个连接
min: 0,
// 当前连接多久没有操作就断开
idle: 10000,
// 多久没有获取到连接就断开
acquire: 30000,
}
});

字段名称

作用

type

字段类型

primaryKey

是否是主键

autoIncrement

是否自动增长

allowNull

是否允许为空

unique

是否必须唯一

defaultValue

默认值

额外配置常用属性

字段名称

作用

timestamps

是否自动添加 ​​createdAt​​​ / ​​updateAt​​ 字段

freezeTableName

是否禁止自动将表名修改为复用

tableName

是否自定义表名

indexes

指定索引

 

  • 例如如下的方式创建索引:
// 指定索引
indexes: [
{
// 索引名称
name: '',
// 索引字段名称
fields: [''],
}
]
  • 使用​​sequelize​​​ 的​​define​​ 方法即可创建
  • 下面先对参数进行说明:
  • 第一个参数:用于指定​​表的名称​
  • 第二个参数:用于指定​​表中有哪些字段​
  • 第三个参数:用于配置​​表的一些额外信息​
  • ????注意点:
  • ​Sequelize​​ 在根据模型创建表的时候, 会自动将我们指定的表的名称变成复数
  • ​Sequelize​​​ 在根据模型创建表的时候, 会自动增加两个字段​​createAt​​​ /​​updateAt​
let User = sequelize.define('user', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
// varchar(255)
type: Sequelize.STRING,
allowNull: false,
unique: true
},
age: {
type: Sequelize.TINYINT,
defaultValue: 66
},
gender: {
type: Sequelize.ENUM(['男', '女', '妖']),
defaultValue: '妖'
}
}, {// 告诉 sequelize 不需要自动将表名变成复数
freezeTableName: true,
// 自定义表名
// tableName: 'student',
// 不需要自动创建 createAt / updateAt 这两个字段
timestamps: false,
// 指定索引
indexes: [
{
// 索引名称
name: 'idx_age',
// 索引字段名称
fields: ['age'],
}
]
});
  • 注意点
  • 默认定义好一个模型之后并不会自动创建对应的表
  • 我们需要通过调用连接对象的​​sync​​ 方法来执行同步
  • 只有同步之后才会自动根据模型创建对应的表
sequelize.sync();
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: Nacos集群 下一篇: NRM与CNPM的使用
  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   27   0   0 mysql
  TEZNKK3IfmPf   2024年05月31日   27   0   0 sqlite数据库
  TEZNKK3IfmPf   2024年05月31日   31   0   0 数据库mysql
  TEZNKK3IfmPf   2024年05月31日   27   0   0 数据库mysql
TEZNKK3IfmPf