Puede usar los tipos flexibles en los ayudantes espacio de nombres para generar su propia inserción personalizada:
const pgp = require('pg-promise')(/*initialization options*/);
// data = either one object or an array of objects;
// cs = your ColumnSet object, with table name specified
// alias = the alias name string
function createInsertWithAlias(data, cs, alias) {
return pgp.as.format('INSERT INTO $1 AS $2~ ($3^) VALUES $4^', [
cs.table, alias, cs.names, pgp.helpers.values(data, cs)
]);
}
y luego simplemente le agrega la cláusula de resolución de conflictos, ya que es estática.
API utilizada en el ejemplo:
- como.formato - utilizado por todos los métodos de consulta para formatear consultas
- ColumnSet.table - te da el objeto de tabla especializado
- ColumnSet.names - te da todas las columnas formateadas
- helpers.values - le da todos los valores formateados