Может ли кто-нибудь сказать мне, что лучше всего подходит для вставки записей с помощью slick 3.x?Лучшая практика для вставки записей с помощью slick 3.x
Я хочу простой образец вставки записи, и ответом должна быть модель с обновлением значения первичного ключа.
case class User(int: Int, name: String, email: String)
Я хочу сделать следующее:
- Вставьте новую запись
- Возврата модели (Пользователь) со значением PK обновлений для свойства идентификатора
- Бросьте, если исключение вставка не удалась, и я верю, что когда вставка возвращает меньше 0?
Я использую postgresql, если это имеет значение.
Документов есть это:
val userWithId =
(users returning users.map(_.id)
into ((user,id) => user.copy(id=Some(id)))
) += User(None, "Stefan", "Zeiger")
Есть функция помощника, который я мог бы использовать в моей DB слое, который также возвращает исключение, если вставка не удалась? Если это удастся, верните пользователя с Идентификатором, иначе создайте исключение.
Вы пробовали чтение [документацию] (http://slick.typesafe.com /doc/3.1.1/queries.html#inserting) уже? – hasumedic
Да, но у них нет конкретного примера вставки, с обновлением базы данных и выбросом исключения. Для этого должна быть лучшая практика, а не каждый, кто пишет свои собственные. –
Этому ответили, отвечая на следующий вопрос: http://stackoverflow.com/questions/27080868/how-to-catch-slick-postgres-exceptions-for-duplicate-key-value-violations –