Для обновления маппингов ключей в Prisma после выполнения raw запроса необходимо использовать метод `getRawParameters` и `setRawParameters` доступный в Prisma Client.
Пример использования:
```typescript
const result = await prisma.$queryRaw`SELECT * FROM users`;
const parameters = prisma.getRawParameters(result);
parameters.records.forEach(record => {
record.id = record.userId; // пример обновления маппинга ключей
});
const updatedResult = prisma.setRawParameters(result, parameters);
```
Чтобы реализовать автоматическое маппинг имен колонок в разных стилях (camelCase и snake_case) при использовании `$queryRaw`, можно создать функцию, которая будет автоматически преобразовывать имена колонок в нужный стиль. Например, так:
```typescript
const mapColumns = (result) => {
return result.map(row => {
const newRow = {};
for (const key in row) {
const newKey = key.replace(/_([a-z])/g, (match, p1) => p1.toUpperCase());
newRow[newKey] = row[key];
}
return newRow;
});
}
const result = await prisma.$queryRaw`SELECT * FROM users`;
const updatedResult = mapColumns(result);
```
Таким образом, вы можете автоматически преобразовывать имена колонок в нужный стиль при получении результатов запроса с помощью `$queryRaw`. Это позволит сделать ваш код более гибким и элегантным.