环境搭建用了宝塔,方便快速。
一.安装依赖
npm install --save egg-sequelize mysql2
二.config/config.js
exports.sequelize = {
enable:true,
package:'egg-sequelize'
}
三.config/config.default.js
exports.sequelize = {
dialect: 'mysql', // support: mysql, mariadb, postgres, mssql
database: '', //数据库名
host: 'localhost',
port: '3306',
username: '', //账号
password: '', //密码
};
四.创建文件
1.app/model/user.js
module.exports = app => {
const { STRING } = app.Sequelize;
const User = app.model.define('user', {
name:STRING
});
return User;
};
2.app/controller/user.js
'use strict';
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
const ctx = this.ctx
await ctx.model.User.create({name:'姓名1'}) // 先创建一条数据
let user = await ctx.model.User.findAll({attributes: ['name']}); // 查询所有,只返回name字段
ctx.body = user
}
}
module.exports = HomeController;
3.app/router.js
配置路由
router.get('/user',controller.user.index);
sequelize参考
demo地址
- 模型添加字段同步数据库
router.js 下添加
app.beforeStart(async ()=>{
await app.model.sync({alter:true});
})
网友评论