Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Below is the code I use in inserting into the db however when the name of a group which is unique is entered I get a unique key violation in the logs

override def create(groups: GroupEntity): Future[GroupEntity] = db.run{groupsTableQuery returning groupsTableQuery += groups}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
696 views
Welcome To Ask or Share your Answers For Others

1 Answer

Recover using recoverWith. As all exceptions will be of type PSQLException, check if certain keywords exist in message of the exception to handle it.

val future = db.run { groupsTableQuery returning groupsTableQuery += groups }

future.recoverWith { 
 case ex: PSQLException =>
   val msg = ex.getMessage
   //check message for keywords for specific errors
   Future.successful(0)
 case ex => Future.failed(ex)
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...