【问题标题】:Dynamic PostgreSQL file using Node JS使用 Node JS 的动态 PostgreSQL 文件
【发布时间】:2017-03-31 04:38:19
【问题描述】:

我有一个巨大的 PostgreSQL 文件(300 行),用于在我的 NodeJS 应用程序中创建一个新客户端。 (我使用 pg-promise。)我读取文件并用这个简单的代码返回结果:

NewClient: function() {
    var sql = fs.readFileSync(__dirname + '/sql/creating_client.sql').toString();
    return db.any(sql);
}

我工作得很好。

在处理文件之前,我必须手动更改文件中声明的变量。

例如,我的 SQL 文件以声明 20-30 个变量开始。

creating_client.sql:

do $$
declare 
  clientname varchar(150) := 'Demo';
  clienthostname varchar(150) := 'demo';
  default_password varchar(100) := 'keyboardcat'; 
  ....

我的问题:有没有办法将动态变量从我的 javascript 注入到 SQL 文件中?

【问题讨论】:

标签: javascript node.js postgresql fs pg-promise


【解决方案1】:

我想这样的事情可能会奏效:

SQL

do $$
declare 
  clientname varchar(150) := '__clientname__';
  clienthostname varchar(150) := '__clienthostname__';
  default_password varchar(100) := '__default_password__'; 
  ....

节点

var myPassword = 'keyboardcat'
var sql = fs.readFileSync(__dirname + '/sql/creating_client.sql').toString();
sql.replace('__default_password__', myPassword);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2015-08-04
    • 2021-12-22
    • 2017-01-12
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多