मैं Postgresql 9.6.1, प्ली के साथ चालाक का उपयोग कर रहा हूँ! 2.5 और प्ले-स्लिक 2.0.2।Slick 3: insertOrUpdate काम नहीं कर रहा
(मैं भी चालाक-पीजी 0.14.3 का उपयोग लेकिन मुझे नहीं लगता है कि यह यहाँ कुछ भी बदल जाता है।)
मैं एक बहुत सीधे आगे रास्ते में insertOrUpdate
उपयोग कर रहा हूँ लेकिन मैं अभी भी एक अनूठा अपवाद मिलता है।
def clientId = column[String]("client_id", O.PrimaryKey)
:
ERROR: duplicate key value violates unique constraint "ga_client_id_pkey"
Detail: Key (client_id)=(1885746393.1464005051) already exists
लेकिन, मेरा तालिका client_id
प्राथमिक कुंजी के रूप के साथ परिभाषित किया गया है: मैं हमेशा एक एसक्यूएल अपवाद अगर मैं इसे कई बार चलाएँ:
मैं insertOrUpdate
का उपयोग कर एक बहुत ही साधारण परीक्षण है
और इसके बाद के रूप में एसक्यूएल में परिभाषित:
client_id TEXT NOT NULL UNIQUE PRIMARY KEY
समारोह बस का परीक्षण करता है:
db.run(gaClientIds.insertOrUpdate(gaClientId))
और नियंत्रक बस इस तरीकों कॉल करता है और करता है और कुछ नहीं।
एक अजीब चीज यह है कि विधियों को लॉन्च करने से कई बार त्रुटि नहीं होती है लेकिन नियंत्रक करता है हालांकि यह केवल विधि को कॉल करता है।
insertOrUpdate
स्लिम फ़ंक्शन अभी तक सुनिश्चित नहीं है या मुझे कुछ याद आ रही है?
एक ही समस्या के कार्यान्वयन देता है की कोशिश कर सकते में समर्थित है। 2.1। @ सिमॉन आपको समाधान मिला? – Stoecki
दुर्भाग्य से मुझे मिला एकमात्र समाधान सादे वर्ग में डेटाबेस कॉल लिखना है ... – Simon
यह मेरा समाधान था – Stoecki