同步 sequelize.sync() 还是不同的方式?

Synchronous sequelize.sync() or different way?

我刚开始在基于 Express 生成器的项目中使用 Sequelize。我正在为我的 MySQL 数据库使用 Sequelize,我需要在开始侦听来自网站的 http 请求之前启动数据库。首先我做的是:

app.js

sequelize.sync().then(() => {
    app.use('view engine', 'ejs');
    app.use('/auth', auth);
    //etc etc etc...
}).catch(err=>{
    console.log(err);
});

但是有人说我这不是正确的风格。有更好的办法吗?或者在 运行 快速路由等之前使用同步调用,如下所示:

syncFunctionWhatCallsSequelizeSync();

app.use('view engine', 'ejs');
app.use('/auth', auth);
//etc etc etc...

您可以在 sync() 之前配置路由、中间件等,因为您的服务器仅在 sync() 之后侦听。

// Configure routes
// Configure middleware
// Configure etc
models.sequelize.sync()
    .then(() => {
        // Start listening 
    })
    .catch(err => {

    });