首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何检查当前迁移是否是最新的?

如何检查当前迁移是否是最新的?
EN

Stack Overflow用户
提问于 2016-06-17 15:35:07
回答 1查看 2.8K关注 0票数 4

我正在使用knex进行postgres迁移版本控制。其基本思想是:每次节点启动时,它都会检查当前数据库迁移是否是最新的。如果没有,那么应用knex.migrate.latest().then(....)的最新版本。

例如,我有一个init.js迁移文件,它是我当前的db版本。然后提交一个新的newMigration.js并重新启动服务器。我希望节点找到新的迁移并应用它。

我知道有一个.currentVersion函数来获取当前的db迁移版本,但是节点如何知道新添加的迁移(版本)?

请指点!谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 03:58:16

这是记录在案的这里

在我的一个项目中,我有这样的东西:

代码语言:javascript
代码运行次数:0
运行
复制
// iniciando o servidor, mas antes verificando qual é a do banco
console.log("(1/3) running [knex.migrate.latest()]");
knex.migrate.latest().then(function () {
  console.log("(2/3) running [knex.seed.run()]");
  return knex.seed.run(); // XXX converter os seeds em migrations
}).then(function () {
  var s = "(3/3) app ready. Listening port: ";
  console.log(s + port + ", addr: " + (addr ? addr : "0.0.0.0"));
  http.listen(port, addr);
});

这样,每次节点重新启动时,它都会检查更新的迁移并运行它们。

只有在此过程结束时,我才开始侦听http请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37885382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档