diff --git a/pom.xml b/pom.xml
index 96852c4..009d381 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,6 +50,14 @@
org.flywaydb
flyway-core
+
+
+ org.flywaydb
+ flyway-database-postgresql
+ 10.4.1
+
+
+
org.springframework.session
spring-session-core
@@ -140,7 +148,6 @@
-
org.opencypher.gremlin
@@ -183,6 +190,39 @@
+
+ org.flywaydb
+ flyway-maven-plugin
+ 10.17.2
+
+ __
+
+ classpath:com/stktrk/app/db/migrations
+
+
+ jdbc:postgresql://192.168.178.50:7654/flyway_db
+ flyway_user
+ 7e7v55UcYGrY0e3UPYI0qtyMA4YJ1ZkTEaoyZ252GluFkiEMHVT9U5ULS7Rg2rGi
+
+ flyway_db
+
+
+
+
+
+
+
+
+
+ org.postgresql
+ postgresql
+ 42.7.4
+
+
+
+
+
+
diff --git a/src/main/java/com/stktrk/app/AppApplication.java b/src/main/java/com/stktrk/app/AppApplication.java
index ff53a1b..5758b86 100644
--- a/src/main/java/com/stktrk/app/AppApplication.java
+++ b/src/main/java/com/stktrk/app/AppApplication.java
@@ -3,7 +3,9 @@ package com.stktrk.app;
import com.arcadedb.gremlin.ArcadeGraph;
import com.github.javafaker.Faker;
+import com.stktrk.app.configuration.GraphDbConfig;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
diff --git a/src/main/java/com/stktrk/app/ConnectionPool.java b/src/main/java/com/stktrk/app/ConnectionPool.java
index 51ab12e..bd44d9d 100644
--- a/src/main/java/com/stktrk/app/ConnectionPool.java
+++ b/src/main/java/com/stktrk/app/ConnectionPool.java
@@ -2,20 +2,30 @@ package com.stktrk.app;
import com.arcadedb.gremlin.ArcadeGraph;
import com.arcadedb.gremlin.ArcadeGraphFactory;
+import com.stktrk.app.configuration.GraphDbConfig;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import javax.annotation.PostConstruct;
+
+@Component
public class ConnectionPool {
- static final ArcadeGraphFactory pool;
+ static ArcadeGraphFactory pool;
- static {
+ @Autowired
+ GraphDbConfig graphDbConfig;
+
+ @PostConstruct
+ void init () {
try {
- pool = ArcadeGraphFactory.withRemote("192.168.178.50", 2480, "graph", "root", "playwithdata");
+ pool = ArcadeGraphFactory.withRemote(graphDbConfig.getHost(), graphDbConfig.getHttpPort(), graphDbConfig.getGraphName(), graphDbConfig.getUser(), graphDbConfig.getPassword());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
- public static ArcadeGraph getGraph(){
+ public static ArcadeGraph getGraph() {
return pool.get();
}
}
diff --git a/src/main/java/com/stktrk/app/configuration/GraphDbConfig.java b/src/main/java/com/stktrk/app/configuration/GraphDbConfig.java
new file mode 100644
index 0000000..be5bfc2
--- /dev/null
+++ b/src/main/java/com/stktrk/app/configuration/GraphDbConfig.java
@@ -0,0 +1,22 @@
+package com.stktrk.app.configuration;
+
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@Getter
+@Setter
+@ConfigurationProperties(prefix = "graph")
+
+public class GraphDbConfig {
+ String host;
+ int httpPort;
+ int postgresPort;
+ String graphName;
+ String user;
+ String password;
+
+}
diff --git a/src/main/java/com/stktrk/app/db/migrations/V2__CreateTest.java b/src/main/java/com/stktrk/app/db/migrations/V2__CreateTest.java
new file mode 100644
index 0000000..3d260cb
--- /dev/null
+++ b/src/main/java/com/stktrk/app/db/migrations/V2__CreateTest.java
@@ -0,0 +1,35 @@
+package com.stktrk.app.db.migrations;
+
+import org.flywaydb.core.api.migration.BaseJavaMigration;
+import org.flywaydb.core.api.migration.Context;
+
+import java.sql.*;
+import java.util.Properties;
+
+public class V2__CreateTest extends BaseJavaMigration {
+ public void migrate(Context context) throws Exception {
+
+ Class.forName("org.postgresql.Driver");
+
+ Properties props = new Properties();
+ props.setProperty("user", "root");
+ props.setProperty("password", "playwithdata");
+ props.setProperty("ssl", "false");
+ props.setProperty("sslmode", "disable");
+
+ System.out.println ("migration");
+
+
+ try (Connection connection = DriverManager.getConnection("jdbc:postgresql://192.168.178.50:5432/graph", props)) {
+
+ Statement st = connection.createStatement();
+ st.execute("CREATE VERTEX TYPE test");
+
+
+ } catch (Exception e) {
+
+ System.out.println (e);
+
+ }
+ }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 650f1d8..21d1ca9 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,3 +1,16 @@
spring.application.name=app
server.port=9090
-springdoc.swagger-ui.path=/swagger-ui.html
\ No newline at end of file
+springdoc.swagger-ui.path=/swagger-ui.html
+
+flyway.user=flyway_user
+flyway.password=7e7v55UcYGrY0e3UPYI0qtyMA4YJ1ZkTEaoyZ252GluFkiEMHVT9U5ULS7Rg2rGi
+flyway.schemas=flyway_db
+
+
+graph.user=root
+graph.password=playwithdata
+graph.connection=jdbc:postgresql://192.168.178.50:5432/graph
+graph.http-port:2480
+graph.postgres-port:5432
+graph.host=192.168.178.50
+graph.graph-name=graph
\ No newline at end of file