Skip to content

Commit 71b41d7

Browse files
committed
special char issue
1 parent 61df77d commit 71b41d7

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

src/api/migratepg.js

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const pg_dbname = config.get('POSTGRES.database')
77
async function migratepgInsert(dbpool, payload) {
88
console.log(payload);
99
const table = payload.TABLENAME
10+
const tablename = payload.TABLENAME
1011
const dbname = payload.SCHEMANAME
1112
payload = payload.DATA
1213
try {
@@ -29,10 +30,16 @@ console.log(payload[fieldname])
2930
sql = `SET search_path TO ${schemaname};`;
3031
console.log(sql);
3132
await client.query(sql);
32-
sql = `insert into "${table}" (\"${columnNames.join('\", \"')}\") values (${columnNames.map((k) => `'${payload[k]}'`).join(', ')});` // "insert into <schema>:<table> (col_1, col_2, ...) values (val_1, val_2, ...)"
33+
const paramSql = Array.from(Array(columnNames.length).keys(), x => `$${x + 1}`).join(',');
34+
sql = `insert into "${tablename}" (${columnNames.map(x => `"${x}"`).join(',')}) values(${paramSql})`;
35+
const values = [];
36+
columnNames.forEach((colName) => {
37+
values.push(payload[colName]);
38+
});
39+
//sql = `insert into "${table}" (\"${columnNames.join('\", \"')}\") values (${columnNames.map((k) => `'${payload[k]}'`).join(', ')});` // "insert into <schema>:<table> (col_1, col_2, ...) values (val_1, val_2, ...)"
3340
console.log("Executing query : " + sql);
34-
// sql = "insert into test6 (cityname) values ('verygoosdsdsdsd');";
35-
await client.query(sql);
41+
// await client.query(sql);
42+
await client.query(sql, values);
3643
//await client.release(true);
3744
console.log(`end connection of postgres for database`);
3845
} catch (e) {
@@ -162,12 +169,19 @@ console.log(payload[fieldname]['old'])
162169
console.log(sql);
163170
await client.query(sql);
164171
// sql = `update ${table} set ${Object.keys(payload).map((key) => `\"${key}\"='${payload[key]['new']}'`).join(', ')} where ${Object.keys(payload).map((key) => `\"${key}\"='${payload[key]['old']}'`).join(' AND ')} ;` // "update <schema>:<table> set col_1=val_1, col_2=val_2, ... where primary_key_col=primary_key_val"
165-
sql = `update "${table}" set ${setdatastr} where ${oldconditionstr} ;`
172+
173+
sql = `update "${table}" set ${columnNames.map(x => `"${x}"=$${x + 1}`).join(',')} where ${oldconditionstr} ;`
174+
const values = [];
175+
columnNames.forEach((colName) => {
176+
colobj = payload[colName]
177+
values.push(colobj.new);
178+
});
179+
// sql = `update "${table}" set ${setdatastr} where ${oldconditionstr} ;`
166180
console.log("sqlstring ..............................");
167181
console.log(sql);
168-
//update test5 set id='[object Object].new', cityname='[object Object].new' where id='[object Object].old' AND cityname='[obddject Object].old' ;
169-
// sql = "insert into test6 (cityname) values ('verygoosdsdsdsd');";
170-
await client.query(sql);
182+
183+
//await client.query(sql);
184+
await client.query(sql,values);
171185
//await client.release(true);
172186
console.log(`end connection of postgres for database`);
173187
} catch (e) {

0 commit comments

Comments
 (0)