1.于MySql创建数据库myschool
2.连接数据库
// 连接数据库
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('myschool', 'root', 'root', {
host: 'localhost',
dialect: 'mysql'
});
// 创建一个数据库连接的实力依赖的是连接池,所以不需要手动关闭数据库连接
// 有场景需要可以使用sequelize.close()进行关闭
module.exports = sequelize;
3.创建学生模型
const sequelize = require("./db.js")
const { DataTypes } = require('sequelize');
// id,姓名,出生日期,性别,联系电话,所在班级
const Student = sequelize.define('Student', {
name : {
type : DataTypes.STRING,
allowNull : false
},
birthday : {
type : DataTypes.DATE,
allowNull : false
},
sex : {
type : DataTypes.BOOLEAN,
allowNull : false
},
moblie : {
type : DataTypes.STRING(11),
allowNull : false
}
,
ClassId:{
type:DataTypes.STRING,
allowNull:false
}
}, {
paranoid : true,
});
module.exports = Student;
4.创建班级模型
const sequelize = require("./db.js")
const { DataTypes } = require('sequelize');
// id,名称,开班时间
const Class = sequelize.define('Class', {
name : {
type : DataTypes.STRING,
allowNull : false
},
openDate : {
type : DataTypes.DATE,
allowNull : false
}
}, {
paranoid : true,
});
module.exports = Class
5.同步模型
require("./Class")
require("./Student")
const sequelize = require("./db");
(async function(){
await sequelize.sync({ alter: true });
console.log("用户模型表刚刚(重新)创建");
})()
6.班级写入随机数据
const Mock = require("mockjs")
const result = Mock.mock({
'datas|10': [{
"id|+1" : 1,
name : "前端 @id 班",
openDate : "@date"
}]
}).datas;
const Class = require("../models/Class.js")
Class.bulkCreate(result)
7.学生写入随机数据
const Mock = require("mockjs")
const result = Mock.mock({
'datas|500': [{
name : "@cname",
birthday : "@date",
"sex|1-2" : 1,
moblie : /1[3456789]\d{9}/,
"ClassId|1-10" : 0,
}]
}).datas;
const Student = require("../models/Student.js")
Student.bulkCreate(result)
8.进行写入
//班级
require("./mock/mockClass.js")
//学生
require("./mock/mockStudent.js")
效果