का उपयोग कर पोस्टग्रेएसक्यूएल ट्रिगर बनाएं, मैं Play2.0 डेटाबेस विकास स्क्रिप्ट में पोस्टग्रेएसक्यूएल ट्रिगर बनाने की कोशिश कर रहा हूं। एसक्यूएल कोड अपेक्षाकृत आसान है और pgAdminIII में ठीक चलाता है:जेडीबीसी
CREATE OR REPLACE FUNCTION update_modified() RETURNS TRIGGER AS $$
BEGIN
NEW.modified = now();
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
हालांकि, जब विकास चल रहा है मैं एक त्रुटि मिलती है: ERROR: unterminated dollar-quoted string at or near "$$ BEGIN NEW.modified = now()"
। एसक्यूएल कोड को पर फंसे हुए पहले अर्धविराम पर छंटनी लगती है। मैं PostgreSQL के लिए "9.1-901.jdbc4" जेडीबीसी ड्राइवर का उपयोग कर रहा हूं।
अद्यतन:
Evolutions.scala में कोड (लाइन 219+) ;
पर एक साधारण विभाजन प्रदर्शन करती है। फ्रेमवर्क में खुद को दोषपूर्ण लगता है:
// Execute script
s.sql.split(";").map(_.trim).foreach {
case "" =>
case statement => execute(statement)
}
कोई समाधान?
समस्या पर चर्चा की गई है [यहां] (http://archives.postgresql.org/pgsql-jdbc/2010-03/msg00056.php) साथ ही साथ। – fynn
कृपया हमें जावा कोड दिखाएं जो ट्रिगर बनाता है। –
एसक्यूएल स्क्रिप्ट एक [प्ले डेटाबेस विकास स्क्रिप्ट] (http://www.playframework.org/documentation/2.0/Evolutions) है क्योंकि ट्रिगर बनाता है जो कोड मेरा नहीं है। मुझे लगता है कि (स्कैला!) कोड पाया जा सकता है [यहां] (https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/db/evolutions /Evolutions.scala)। – fynn