2013-11-14 5 views
8

हम की तरह है, तो माइग्रेशन:फ्लाईवे सॉर्ट संस्करण संख्या कैसे करता है?

V1_6__six.sql 
V1_7__seven.sql 
V1_8__eight.sql 
V1_9__nine.sql 

हम अगले संस्करण के लिए क्या इस्तेमाल करना चाहिए?

यदि हम V1_10 का उपयोग करते हैं तो यह V1__9 के बाद आएगा? या हमें 0 के साथ एकल अंक संस्करण संख्याओं को उपसर्ग करने की आवश्यकता होगी?

वास्तव में सवाल यह है: संस्करण संख्या संख्यात्मक रूप से या वर्णानुक्रम में क्रमबद्ध हैं?

उत्तर

6

एक शब्द में: संख्यात्मक रूप से। जैसा कि एक संख्या के लिए उम्मीद की जाएगी।

+0

मैं 'सॉर्टिंग भाग' का पुन: उपयोग करना चाहता हूं। मुझे किस फाइल को देखना चाहिए? – piotrek

+0

@ एक्सेल-फॉन्टेन - यह बिल्कुल सही प्रतीत नहीं होता है, जब तक कि मैं गलत नहीं समझता: '1.1.015 | blah1 | | लंबित | 1.2.001 | blah2 | | लंबित | 1.2.1.001 | blah3 | | लंबित | 1.2.1.002 | blah4 | | लंबित | 1.2.002 | blah7 | | लंबित | 1.2.003 | blah8 | | लंबित | ' –

+0

क्षमा करें - उस दाईं ओर स्वरूपण नहीं कर सकता: http://pastebin.com/7uvXVsqT –

0

सॉर्टिंग कैसे होता है, इस पर एक निश्चित उत्तर के लिए, आप कोड का संदर्भ ले सकते हैं। यह test विशेष रूप से सहायक है।

@Test 
public void testNumber() { 
    final MigrationVersion a1 = MigrationVersion.fromVersion("1.2.13.3"); 
    final MigrationVersion a2 = MigrationVersion.fromVersion("1.2.3.3"); 
    assertTrue(a1.compareTo(a2) > 0); 
} 

@Test 
public void testLength1() { 
    final MigrationVersion a1 = MigrationVersion.fromVersion("1.2.1.3"); 
    final MigrationVersion a2 = MigrationVersion.fromVersion("1.2.1"); 
    assertTrue(a1.compareTo(a2) > 0); 
} 

@Test 
public void testLength2() { 
    final MigrationVersion a1 = MigrationVersion.fromVersion("1.2.1"); 
    final MigrationVersion a2 = MigrationVersion.fromVersion("1.2.1.1"); 
    assertTrue(a1.compareTo(a2) < 0); 
} 

@Test 
public void leadingZeroes() { 
    final MigrationVersion v1 = MigrationVersion.fromVersion("1.0"); 
    final MigrationVersion v2 = MigrationVersion.fromVersion("001.0"); 
    assertTrue(v1.compareTo(v2) == 0); 
    assertTrue(v1.equals(v2)); 
    assertEquals(v1.hashCode(), v2.hashCode()); 
} 
संबंधित मुद्दे