Я использую пятно с Postgresql 9.6.1, Plya! 2.5 и play-slick 2.0.2.Слайк 3: insertOrUpdate не работает
(я также использую пятно-страничный 0.14.3, но я не думаю, что это меняет что-либо здесь.)
Я использую insertOrUpdate
в очень прямой способ, но я все еще получаю уникальное исключение.
У меня есть очень простой тест с использованием insertOrUpdate
: если я бегу это несколько раз, я всегда получаю исключение SQL:
ERROR: duplicate key value violates unique constraint "ga_client_id_pkey"
Detail: Key (client_id)=(1885746393.1464005051) already exists
Однако моя таблица определяется с client_id
в качестве первичного ключа:
def clientId = column[String]("client_id", O.PrimaryKey)
и определены в SQL, как следует:
client_id TEXT NOT NULL UNIQUE PRIMARY KEY
Функция испытания просто делает:
db.run(gaClientIds.insertOrUpdate(gaClientId))
и контроллер просто не называет это методы и делает ничего.
Странная вещь заключается в том, что запуск самих методов несколько раз не приводит к ошибке, но контроллер делает, хотя он вызывает только метод.
Есть insertOrUpdate
Функция скольжения не уверен, или я что-то не хватает?
Та же проблема на моей стороне с slick3. 2.1. @Simon вы нашли решение? – Stoecki
Нет, к сожалению, единственным решением, которое я нашел, является запись вызова базы данных в простой sql ... – Simon
Это тоже мое решение – Stoecki