如何移动红色节点项目

时间:2018-08-02 22:32:55

标签: node.js node-red

我有一个运行良好的node-red项目。我备份了.node-red文件夹,现在已经在同一台计算机上重新安装了ubuntu和node-red。我正在使用node-red-contrib-postgrestor节点访问PostgreSQL。安装所有必需的节点并将flow.json和settings.js文件复制到.node-red文件夹后,我无法使该流与PostgresSQL数据库进行身份验证。我已经编辑了节点属性,并重新输入了用户名/密码信息并重新部署了。我尝试将settings.js文件中的credentialSecret属性更改为新的秘密字符串,并且尝试将属性更改为false。 flow_cred.json文件是:(1)未创建,(2)使用内容“ {}”创建,或(3)使用加密数据创建。在任何情况下,我都无法使节点通过数据库进行身份验证。我尝试将调试语句放入postgrestor.js文件中,该文件显示用户名和密码为“未定义”。

function PostgrestorNode(config) {
const node = this;
RED.nodes.createNode(node, config);

node.topic = config.topic;
node.config = RED.nodes.getNode(config.postgresDB);
node.on('input', (msg) => {
  node.warn(`user: ${node.config.user}, password: ${node.config.password}`);

  const query = mustache.render(config.query, {msg});
  const pool = new Pool({
    user: node.config.user,
    password: node.config.password,
    host: node.config.host,
    port: node.config.port,
    database: node.config.database,
    ssl: node.config.ssl,
    max: node.config.max,
    min: node.config.min,
    idleTimeoutMillis: node.config.idle
  });

最初,node-red程序在Ubuntu 16.04中运行。问题发生时,我升级到了18.04。从那以后,我回去重新安装16.04,以为那是问题所在,但现在无论如何都无法正常工作。

我已阅读以下内容:

https://github.com/node-red/node-red/wiki/Design%3A-Encryption-of-credentials

最后一句“请注意,一旦设置了credentialSecret,就无法更改其值。”也许是我的问题,但是肯定有一种方法可以更改数据库的登录凭据。

任何想法都会受到赞赏。


我现在发现node-red-contrib-postgres节点没有遇到与数据库的连接问题。 node-red-contrib-postgrestor节点必须存在一个特定的问题。

0 个答案:

没有答案