2012-05-16 23 views
25

Herhangi bir nedenle, Java kodunun içinde çalışan likitibazla ilgili bir belge bulunmamaktadır. Birim testleri için tablo oluşturmak istiyorum.Java kodunda çalışan likidiyazın çalıştırılması

Doğrudan Java'da nasıl çalıştırırım?

örn.

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 
      } 
     } 
    } 

sizin changelog dosyaları bulunmalıdır şekline bağlı olarak ResourceAccessor birden uygulanması vardır:

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

http://forum.liquibase.org/topic/using-liquibase-directly-from-java adresinde bulundunuz mı? – artbristol

cevap

33

O (liquibase.integration.spring.SpringLiquibase kaynağından alınan) gibi bir şey olmalıdır.

+0

Teşekkürler Nathan. :) – sproketboy

+3

Eklendi Nathan Cevap burada gerçek kodu bakın https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/integration/servlet/LiquibaseServletListener.java#L209 –

İlgili konular