Ai
1 Star 5 Fork 2

China-Quanda/api-egg-mysql-sever

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 2.53 KB
一键复制 编辑 原始数据 按行查看 历史
China-quanda 提交于 2022-02-24 16:45 +08:00 . 开发模式自动创建数据库表
'use strict';
// module.exports = app => {
// app.beforeStart(async () => {
// await app.model.sync({});
// });
// };
class AppBootHook {
constructor(app) {
this.app = app;
}
configWillLoad() {
// 此时 config 文件已经被读取并合并,但是还并未生效
// 这是应用层修改配置的最后时机
// 注意:此函数只支持同步调用
// 例如:参数中的密码是加密的,在此处进行解密
// this.app.config.mysql.password = decrypt(this.app.config.mysql.password);
// 例如:插入一个中间件到框架的 coreMiddleware 之间
// const statusIdx = this.app.config.coreMiddleware.indexOf('status');
// this.app.config.coreMiddleware.splice(statusIdx + 1, 0, 'limit');
}
async didLoad() {
// 所有的配置已经加载完毕
// 可以用来加载应用自定义的文件,启动自定义的服务
// 例如:加载自定义的目录
// const path = require('path');
// 加载所有的校验规则
// const directory = path.join(this.app.config.baseDir, 'app/validate');
// this.app.loader.loadToApp(directory, 'validate');
}
async willReady() {
// 所有的插件都已启动完毕,但是应用整体还未 ready
// 可以做一些数据初始化等操作,这些操作成功才会启动应用
// 例如:从数据库加载数据到内存缓存
// this.app.cacheData = await this.app.model.query(QUERY_CACHE_SQL);
}
async didReady() {
// 应用已经启动完毕
this.app.beforeStart(async () => {
// 如果是开发环境就初始化数据库
const isDev = process.env.NODE_ENV === 'development';
if (isDev) {
console.log('Start syncing database models...');
await this.app.model.sync({});
}
// await this.app.model.sync({});
// User.sync() - 如果表不存在,则创建该表(如果已经存在,则不执行任何操作)
// User.sync({ force: true }) //-强制 将创建表,如果表已经存在,则将其首先删除再创建
// User.sync({ alter: true }) - 这将检查数据库中表的当前状态(它具有哪些列,它们的数据类型等),然后在表中进行必要的更改以使其与模型匹配.
});
// const ctx = await this.app.createAnonymousContext();
// await ctx.service.Biz.request();
}
async serverDidReady() {
// http / https server 已启动,开始接受外部请求
// 此时可以从 app.server 拿到 server 的实例
// this.app.server.on('timeout', socket => {
// handle socket timeout
// });
}
}
module.exports = AppBootHook;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/china-quanda/api-egg-mysql-sever.git
git@gitee.com:china-quanda/api-egg-mysql-sever.git
china-quanda
api-egg-mysql-sever
api-egg-mysql-sever
master

搜索帮助