Я пытаюсь использовать помощники ColumnSet для генерации запроса на вставку и обновление, но у меня есть столбец, который я хочу отформатировать с помощью pg-promise query-formatter, если он передан, или в противном случае по умолчанию используется :raw (^)
, что в данном случае это now()
.
Пример кода такой:
const cs = new helpers.ColumnSet([
'lastname',
{
name: 'rental_date',
mod: '^',
def: 'now()'
}
], { table: { table: 'book_rental', schema: 'public' } })
let rental1 =
{
lastname: 'Mueller', rental_date: '2020-05-01T12:15:063Z'
};
let rental2 =
{
lastname: 'Smith'
};
let insert = helpers.insert(rental1, cs)
db.result(insert)
.then(data => res.json({ message: 'Ok!' }))
.catch(err => res.json({ message: 'Not ok!' }))
Rental1 должен INSERT INTO (last_name, rental_date) VALUES ('Mueller', '2020-05-01T12:15:063Z' )
, а Rental2 должен INSERT INTO (last_name, rental_date) VALUES ('Smith', now() )
. Однако это вызывает ошибку, так как Rental1 также отформатирован как :raw.
Вероятно, это распространенный вариант использования, поэтому я, вероятно, что-то упускаю ... как мне добиться этого с помощью помощников, чтобы только при запуске по умолчанию использовался режим :raw?