CNode

egg-sequelize 不会自动同步表,使用查询语句时表还没建立。

问答
FFlyerJay发布于9 年前最后回复9 年前7 回复8051 浏览0 收藏

请问在egg中怎么处理这个问题,是自己写一个类似plugin的东西来处理呢,还是egg本来就有相应的配置

查看回复

回复 (7)

M
MUHM#1·9 年前
// app.js
module.exports = app => {
  app.beforeStart(async function () {
    // 应用会等待这个函数执行完成才启动
    app.model.sync()
  });
};
F
FlyerJay#2·9 年前
引用 MUHM`

@MUHM 谢啦,解决啦

A
atian25#3·9 年前

app.model.sync() 是 promise 而不是同步方法,要加上 await

http://docs.sequelizejs.com/en/latest/api/sequelize/#sync

// app.js
module.exports = app => {
  app.beforeStart(async function () {
    // 应用会等待这个函数执行完成才启动
    await app.model.sync()
  });
};
A
atian25#5·9 年前

这里还可以简化下

// app.js
module.exports = app => {
  app.beforeStart(app.model.sync);
};
A
atian25#7·9 年前
引用 MUHM@atian25 额

@MUHM 嗯?

参与回复
登录后即可参与回复。登录