且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Sequelize模型关联不会创建新列

更新时间:2021-09-10 03:28:05

感谢Anatoly跟踪我关于Sequelize这样的问题.

Thanks to Anatoly for keeping up with my questions about Sequelize like this.

经过多次试验和错误,我发现问题是由我的路线注册引起的,例如:

After so many trials and errors, I figured that the issue was caused by the registration of my routes like:

require("./app/routes/user/user.routes")(app)

在我的 app.js server.js 中.这些路线注册是在 db.sync

in my app.js or server.js. These routes registration was added before the db.sync!

所以我要做的是,我在 db.sync 之后称这些路由注册,如下所示:

So what I did was, I call these routes registration after that db.sync, like so:

const db = require("./app/models")

if (process.env.NODE_ENV === "production") {
  db.sequelize.sync().then(() => {
    useRoutes()
  })
} else {
  db.sequelize.sync({ force: true }).then(() => {
    console.log("Drop and re-sync db.")
    useRoutes()
  })
}

function useRoutes() {
  console.log("Use routes...")
  require("./app/routes/user/user.routes")(app)
  require("./app/routes/auth/auth.routes")(app)
}

Voila,固定!