我有一个巨大的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文件?
答案 0 :(得分: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);