From 3b0019a516a732e1a0cdbde1d2ce58a1c96cf953 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 17 Dec 2015 15:47:18 +1300 Subject: Start Liquibase library integration --- src/org/traccar/database/DataManager.java | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/org') diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index 7d8966d9a..caf6d9db3 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -30,6 +30,15 @@ import java.util.HashMap; import java.util.Map; import javax.naming.InitialContext; import javax.sql.DataSource; + +import liquibase.Contexts; +import liquibase.Liquibase; +import liquibase.database.Database; +import liquibase.database.DatabaseFactory; +import liquibase.exception.DatabaseException; +import liquibase.exception.LiquibaseException; +import liquibase.resource.FileSystemResourceAccessor; +import liquibase.resource.ResourceAccessor; import org.traccar.Config; import org.traccar.helper.DriverDelegate; import org.traccar.helper.Log; @@ -147,10 +156,27 @@ public class DataManager implements IdentityManager { return query; } - private void initDatabaseSchema() throws SQLException { + private void initDatabaseSchema() throws SQLException, LiquibaseException { if (config.getString("web.type", "new").equals("new") || config.getString("web.type", "new").equals("api")) { + /*try { + ResourceAccessor resourceAccessor = new FileSystemResourceAccessor(); + + Database database = DatabaseFactory.getInstance().openDatabase( + config.getString("database.url"), + config.getString("database.user"), + config.getString("database.password"), + null, resourceAccessor); + + Liquibase liquibase = new Liquibase( + config.getString("database.changelog"), new FileSystemResourceAccessor(), database); + + liquibase.update(new Contexts()); + } catch (Exception e) { + Log.warning(e); + }*/ + boolean exist = false; try (Connection connection = dataSource.getConnection(); -- cgit v1.2.3