Używam slick z Postgresql 9.6.1, Plya! 2.5 i play-slick 2.0.2.Slick 3: insertOrUpdate nie działa
(Używam również zręczny-PG 0.14.3 ale nie sądzę, że zmienia niczego tutaj).
Używam insertOrUpdate
w bardzo prosty sposób do przodu, ale wciąż uzyskać niepowtarzalny wyjątek.
Mam bardzo prosty test z użyciem insertOrUpdate
: jeśli uruchomię go kilka razy zawsze uzyskać sql wyjątek:
ERROR: duplicate key value violates unique constraint "ga_client_id_pkey"
Detail: Key (client_id)=(1885746393.1464005051) already exists
Jednak moja tabela jest zdefiniowana z client_id
jako klucz podstawowy:
def clientId = column[String]("client_id", O.PrimaryKey)
i zdefiniowane w SQL następująco:
client_id TEXT NOT NULL UNIQUE PRIMARY KEY
Badany po prostu funkcja robi:
db.run(gaClientIds.insertOrUpdate(gaClientId))
a kontroler po prostu nazywa to metody i nie robi nic innego.
Dziwne jest to, że kilkakrotne uruchomienie samych metod nie prowadzi do błędu, ale kontroler działa tylko wtedy, gdy wywołuje metodę.
Czy insertOrUpdate
funkcja slick nie jest jeszcze pewna czy coś mi brakuje?
sam problem na mojej stronie z slick3. 2.1. @Simon znalazłeś rozwiązanie? – Stoecki
Niestety jedynym rozwiązaniem, które znalazłem jest napisanie połączenia z bazą danych w zwykłym sql ... – Simon
To było również moje rozwiązanie – Stoecki