11
के साथ अनुक्रम प्रारंभ मान के रूप में अधिकतम कॉलम मान सेट करें मुझे आश्चर्य है कि किसी निश्चित तालिका से अधिकतम कॉलम मान प्राप्त करना संभव है और इसे शुद्ध अनुक्रम मूल्य के साथ प्रारंभ अनुक्रम मान के रूप में सेट करें। निम्नलिखित कोड काम नहीं करता है:तरल पदार्थ टैग
<property name="maxId" value="(select max(id)+1 from some_table)" dbms="h2,mysql,postgres"/>
<changeSet author="author (generated)" id="1447943899053-1">
<createSequence sequenceName="id_seq" startValue="${maxId}" incrementBy="1"/>
</changeSet>
एक त्रुटि मिल गया:
Caused by: liquibase.parser.core.ParsedNodeException: java.lang.NumberFormatException: For input string: "${m"
मैं एक ही परिणाम के साथ select ...
आदि के आसपास कोई कोष्ठकों के साथ यह कोशिश की है। तो गणना अनुक्रम मूल्य के रूप में गणना मूल्य का उपयोग करना संभव नहीं है?
Postgres के लिए केवल एक चीज मैं के बारे में सोच सकते हैं अनुक्रम बनाने के लिए है, तो प्रयोग कर एक '' ' चलाने के लिए चयन setval ('id_seq' टैग है , (some_table से अधिकतम (आईडी) +1 का चयन करें)); '। –
क्या आप अपनी बाकी कॉन्फ़िगरेशन फ़ाइल पोस्ट कर सकते हैं? आप किस पर्यावरण में तरल पदार्थ का उपयोग कर रहे हैं? –
नॉरबर्ट, जावा 8, स्प्रिंग-बूट 1.2.6, लिक्विबेस 3.4.1, पोस्टग्रेस (9.3-1102-जेडीबीसी 41) निष्पादन के लिए और परीक्षण के लिए एच 2। – dfche