如何使用Knex和PG解决迁移错误

问题描述

我正在基于以下技术堆栈开发一个新项目:

  • GraphQL ^ 14.0.2
  • 阿波罗^ 2.2.4
  • 节点v10.20.1
  • Knex ^ 0.15.2
  • PG ^ 7.6.1

我必须在Knex中编写一个迁移,以更改一个表以添加一个额外的列,然后我就像看到了该项目中的其他迁移一样,并且有了这个文件

exports.up = async function(knex,Promise) {
    await knex.schema.alterTable('candidates',(table) => {
        table.string('preferred_contact_way');
    });
};

exports.down = async function(knex,(table) => {
        table.dropColumn('preferred_contact_way');
    });
}; 

当我尝试运行迁移时,出现以下错误

TimeoutError: Knex: Timeout acquiring a connection. 
The pool is probably full. Are you missing a .transacting(trx) call?

在网上我发现了一个propagateCreateError: true更改为false的建议,但我没有这个建议,在我的Kexfile.js内部有如下建议

module.exports = require('@tb/tb-utils/database').config;  

我不确定应该如何做才能正确运行迁移,而且我不知道还有什么要检查的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)