我在 knex js 中的更新功能不起作用

问题描述

我有一个表 - available_trucks,我想在其中更新列 - available_date。 这个可用日期我计划每天午夜更新,但现在为了测试目的,我尝试每分钟更新一次 nodejs 中的这个库

https://www.npmjs.com/package/node-schedule

我也使用 knex js 作为 sql builder。

我的代码

服务器JS(主文件

const truckJob = require('./jobs/trucks-job');
schedule.scheduleJob('*/1 * * * *',(fireDate) => { 
    console.log('This job was supposed to run at ' + fireDate + ',but actually ran at ' + new Date());
    truckJob.updateAvailableTrucks();
}) 

卡车工作

const db = require('../db/knex');

function updateAvailableTrucks() {
    db("available_trucks").update('available_date','2020-12-13T04:47:56.126').where('truck_number','228');
}

因此,出于测试目的,我在这里放置了硬编码的日期值,其中 truck_number 为 228。我想提一下,我已检查过并且 available_trucks 表中的数据存在,因此我尝试更新我表中的现有列。但是一分钟后再次执行脚本时,表中的列没有更新。此外,当我尝试从某个表中获取数据时,一切都运行良好。 例如

function getAll() {
  return db.select('*').from('available_trucks');
}

我的膝关节配置 KNEX JS

const config = require('../knexfile.js');
const pg = require('pg');
const PG_DECIMAL_OID = 1700;
// workaround that ensures numeric types are read as numbers,not strings
pg.types.setTypeParser(PG_DECIMAL_OID,parseFloat);
module.exports = require('knex')(config);

KNEX 文件 JS

const config = {
  client: 'pg',connection: {
    host:     process.env.POSTGRES_HOST || 'localhost',database: process.env.POSTGRES_DB || 'some_db_name',user:     process.env.POSTGRES_USER || 'postgres',password: process.env.POSTGRES_PASSWORD || 'xx
  },pool: { min: 0,max: 10 },migrations: { directory: './db/migrations' }
};
module.exports = config;

解决方法

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

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

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