1

NodeJS アプリケーションで新しいクライアントを作成するための巨大な PostgreSQL ファイル (300 行) があります。(私は pg-promise を使用します。) ファイルを読み取り、次の単純なコードで結果を返します。

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

私はよく働きます。

ファイルを処理する前に、ファイル内で宣言された変数を手動で変更する必要があります。

たとえば、私の SQL ファイルは、20 ~ 30 個の変数を宣言することから始まります。

creation_client.sql :

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

私の質問: JavaScript から SQL ファイルに動的変数を挿入する方法はありますか?

4

1 に答える 1

0

私はそのようなものがうまくいくと思います:

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);
于 2016-11-16T21:39:54.857 に答える