egg-sequelize 不会自动同步表,使用查询语句时表还没建立。
发布于 8 年前 作者 FlyerJay 7117 次浏览 来自 问答

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

7 回复
// app.js
module.exports = app => {
  app.beforeStart(async function () {
    // 应用会等待这个函数执行完成才启动
    app.model.sync()
  });
};

@MUHM 谢啦,解决啦

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()
  });
};

这里还可以简化下

// app.js
module.exports = app => {
  app.beforeStart(app.model.sync);
};
回到顶部