2012-05-16 11 views
25

के भीतर तरल पदार्थ चलाना किसी कारण से जावा कोड के अंदर तरल पदार्थ चलाने पर कोई दस्तावेज नहीं है। मैं यूनिट परीक्षणों के लिए टेबल जेनरेट करना चाहता हूं।जावा कोड

मैं इसे सीधे जावा में कैसे चलाऊंगा?

उदा।

java.sql.Connection c = YOUR_CONNECTION; 
    Liquibase liquibase = null; 
    try { 
     Database database = DatabaseFactory.getInstance().findCorrectDatabaseImplementation(new JdbcConnection(c)) 
     liquibase = new Liquibase(YOUR_CHANGELOG, new FileSystemResourceAccessor(), database); 
     liquibase.update(); 
    } catch (SQLException e) { 
     throw new DatabaseException(e); 
    } finally { 
     if (c != null) { 
      try { 
       c.rollback(); 
       c.close(); 
      } catch (SQLException e) { 
       //nothing to do 
      } 
     } 
    } 

कैसे अपने बदलाव का फ़ाइलें मिल जाना चाहिए पर निर्भर करता है ResourceAccessor के कई कार्यान्वयन हैं:

Liquibase liquibase = new Liquibase() 
liquibase.runUpdates() ? 
+0

क्या आपने http://forum.liquibase.org/topic/using-liquibase-directly-from-java पर देखा है? – artbristol

उत्तर

33

ऐसा लगता है कि (liquibase.integration.spring.SpringLiquibase स्रोत से लिया गया) कुछ किया जाना चाहिए।

+0

धन्यवाद नाथन। :) – sproketboy

+3

नाथन उत्तर में जोड़ा गया वास्तविक कोड यहां से देखें https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/integration/servlet/LiquibaseServletListener.java#L209 –