Slick 3 Updates с дополнительными столбцами

Используя Slick 3, я хочу обновить свою строку в зависимости от свойства, предоставленного пользователем. Скажем, у меня есть 2 свойства электронной почты и имя. Если указан адрес электронной почты и имя, я обновлю оба свойства в базе данных. Если будет предоставлен один из них, я обновлю только один предоставленный, а другой оставлю нетронутым.

Я нашел то, что я хочу здесь,

Поля ОБНОВЛЕНИЯ по условию с интерполяцией Slick String

но я не хочу манипулировать строкой запроса напрямую. Это единственный способ? Я предпочитаю использовать filter а также update методы. Спасибо

2 ответа

Один из возможных путей решения этой проблемы - сначала получить запись, обновить ее поля в памяти, а затем передать ее в Slick. update, Он сгенерирует SQL UPDATE для всех полей.

Обратите внимание, что это должно быть сделано в транзакции и может иметь различную семантику в зависимости от уровня изоляции транзакции.

Я не мог найти ответ достаточно быстро, и я уступил. Я использую несколько конфигураций обновления вместо обобщенного обновления компоновки. Это плохо, так как количество конфигураций зависит от 2 степени количества вариантов варианта. Это станет громоздким и взорвется. К счастью, на данный момент у меня есть 2 параметра для управления.

Другие вопросы по тегам