Sequelize-创建表-3

定义类(模型)

 1 /**
 2  * 参数1 用于指定表的名称
 3  * 参数2 用于指定表中的字段
 4  * 参数3 用于配置表的一些额外信息
 5  */
 6 let User = sequelize.define('user', {
 7   id: {
 8     type: Sequelize.INTEGER, // INTEGER类型
 9     primaryKey: true, // 主键
10     autoIncrement: true, // 自增长
11   },
12   name: {
13     type: Sequelize.STRING, // varchar(255)类型
14     unique: true, // 唯一键
15     allowNull: false, // 不允许为空
16   },
17   age: {
18     type: Sequelize.TINYINT, // 最小的int类型
19     defaultValue: 66, // 默认值
20   },
21   gender: {
22     type: Sequelize.ENUM(['男', '女']), // 枚举类型
23     defaultValue: '男'
24   }
25 }, {});
  • 定义好模型后,还需要调用 sequelize 连接对象的 sync 方法来创建表

创建表

sequelize.sync();
  • sequelize根据模型创建表时,会自动将指定的表名变成复数
  • sequelize根据模型创建表时,会自动增加两个字段 createdAt 和 updatedAt ,这两个字段用于记录数据创建的时间与数据更新的时间

配置表的额外信息

 1 {
 2   freezeTableName: true, // 不要将表名变成复数
 3   tableName: 'student', // 自定义表名为 student
 4   timestamps: false, // 不需要创建createdAt和updatedAt这两个字段
 5   indexes: [ // 指定索引
 6     { // 一个对象代表一个索引
 7       name: 'idx_age', // 索引名称
 8       fields: ['age'], // 根据age字段生成索引
 9     }
10   ]
11 }

 

posted @ 2021-10-31 19:32  霸哥yyds  阅读(491)  评论(0)    收藏  举报