记录下使用 egg 搭配 sequlize+mysql 搭建 RefulAPI,配置篇
安装 eggjs
初始化项目
mkdir egg-example && cd egg-example
npm init egg --type=simple
npm i
具体可以参考 eggjs
官网.
安装完成目录结构如下:
.
├── README.md
├── app
│ ├── auth
│ │ └── role.js
│ ├── controller
│ │ ├── home.js
│ │ └── users.js
│ ├── domain
│ │ ├── user.js
│ │ └── userLogin.js
│ ├── middleware
│ │ ├── error_handler.js
│ │ ├── gizp_handler.js
│ │ └── jwt_session.js
│ ├── model
│ │ ├── user.js
│ │ └── userLogin.js
│ ├── public
│ ├── router
│ │ ├── router.local.js
│ │ └── router.prod.js
│ ├── router.js
│ ├── service
│ │ └── users.js
│ └── utils
│ └── util.js
├── app.js
├── appveyor.yml
├── config
│ ├── config.default.js
│ ├── config.local.js
│ ├── config.prod.js
│ └── plugin.js
├── data
│ ├── create_db_v1.0.sql
│ └── inster_db_init.sql
├── jsconfig.json
├── logs
│ └── ashop_service
│ ├── ashop_service-web.log
│ ├── common-error.log
│ ├── egg-agent.log
│ ├── egg-schedule.log
│ └── egg-web.log
├── package-lock.json
├── package.json
├── run
│ ├── agent_config.json
│ ├── agent_config_meta.json
│ ├── agent_timing_43008.json
│ ├── application_config.json
│ ├── application_config_meta.json
│ ├── application_timing_43010.json
│ ├── application_timing_92330.json
│ └── router.json
├── test
│ └── app
│ └── controller
│ └── home.test.js
└── typings
├── app
│ ├── controller
│ │ └── index.d.ts
│ ├── index.d.ts
│ ├── middleware
│ │ └── index.d.ts
│ ├── model
│ │ └── index.d.ts
│ └── service
│ └── index.d.ts
└── config
├── index.d.ts
└── plugin.d.ts
安装
npm install sequlize -S
配置
// plugin.js
exports.sequelize = {
enable: true,
package: 'egg-sequelize'
}
// config.default.js
// sequelize config
config.sequelize = {
dialect: 'mysql', // support: mysql, mariadb, postgres, mssql
// dialectOptions: {
// charset: 'utf8mb4',
// },
database: 'wx_shop',
host: '127.0.0.1',
port: '3306',
username: 'you username',
password: 'you password',
timezone: '+08:00',
};
使用
生命 model,sequlize 提供了很多数类型,这里不一一相叙,有兴趣的可以去看 sequlize
官网,这是中文翻译。
model 层
// users.js
'use strict'
module.exports = function (sequelize, DataTypes) {
return sequelize.define('user', {
uid: {
type: DataTypes.INTEGER(11),
allowNull: false,
primaryKey: true,
autoIncrement: true
},
username: {
type: DataTypes.STRING,
allowNull: true, // 允许空值
},
password: {
type: DataTypes.STRING,
allowNull: true,
}
}, {
tableName: 'user'
})
}
查询
Modle.findaAll({
// 查询条件语句
})
具体的增删查改文档里面写的很详细,使用具体看文档.
先写到这里,后面会继续更新!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于