diff options
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/traccar/database/DataManager.java | 28 |
1 files changed, 27 insertions, 1 deletions
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(); |