Skip to content
Snippets Groups Projects
Commit f8f91a73 authored by Mirco Nasuti's avatar Mirco Nasuti
Browse files

no hard-coded db schema

parent f57e651a
No related branches found
No related tags found
No related merge requests found
......@@ -4,17 +4,17 @@
spring:
portalDatasource:
url: {{ default .Env.PORTAL_DB_URL "jdbc:postgresql://172.22.0.1:5432/portal" }}
username: {{ default .Env.PORTAL_DB_USER "portal" }}
username: {{ default .Env.PORTAL_DB_USER "postgres" }}
password: {{ .Env.PORTAL_DB_PASSWORD }}
driver-class-name: org.postgresql.Driver
metaDatasource:
url: {{ default .Env.META_DB_URL "jdbc:postgresql://172.22.0.1:5432/portal" }}
username: {{ default .Env.META_DB_USER "portal" }}
url: {{ default .Env.META_DB_URL "jdbc:postgresql://172.22.0.1:5432/meta" }}
username: {{ default .Env.META_DB_USER "postgres" }}
password: {{ .Env.META_DB_PASSWORD }}
driver-class-name: org.postgresql.Driver
scienceDatasource:
url: {{ default .Env.SCIENCE_DB_URL "jdbc:postgresql://172.22.0.1:5433/science" }}
username: {{ default .Env.SCIENCE_DB_USER "science" }}
username: {{ default .Env.SCIENCE_DB_USER "postgres" }}
password: {{ .Env.SCIENCE_DB_PASSWORD }}
driver-class-name: org.postgresql.Driver
jpa:
......
......@@ -54,7 +54,7 @@ public class GroupsApi {
private void loadGroups() {
if(groups == null)
{
String sqlQuery = "SELECT * FROM meta.meta_variables";
String sqlQuery = "SELECT * FROM meta_variables";
SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery);
data.next();
String json = ((PGobject) data.getObject("hierarchy")).getValue();
......
......@@ -125,7 +125,7 @@ public class VariablesApi {
) {
LOGGER.info("Get groups and variables hierarchy");
String sqlQuery = "SELECT * FROM meta.meta_variables";
String sqlQuery = "SELECT * FROM meta_variables";
SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery);
data.next();
String json = ((PGobject) data.getObject("hierarchy")).getValue();
......@@ -139,7 +139,7 @@ public class VariablesApi {
private void loadVariables() {
if(variables == null)
{
String sqlQuery = "SELECT * FROM meta.meta_variables";
String sqlQuery = "SELECT * FROM meta_variables";
SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery);
data.next();
String json = ((PGobject) data.getObject("hierarchy")).getValue();
......
......@@ -32,7 +32,7 @@ public class DataUtil {
JsonArray currentVarData = new JsonArray();
int samplingPercentage = (int) countAdniRows()/NB_ROWS_SAMPLING;
List<Object> queryResult = jdbcTemplate.queryForList(
"SELECT " + var + " FROM science.adni_merge " +
"SELECT " + var + " FROM adni_merge " +
"TABLESAMPLE SYSTEM ("+ samplingPercentage +") REPEATABLE ( "+ TABLESAMPLE_SEED +" )", Object.class);
for (Object value : queryResult)
{
......@@ -55,7 +55,7 @@ public class DataUtil {
{
long count = jdbcTemplate.queryForObject(
"SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS " +
"WHERE table_schema = 'science' AND table_name = 'adni_merge'", Long.class);
"WHERE table_name = 'adni_merge'", Long.class);
return count;
}
......@@ -63,7 +63,7 @@ public class DataUtil {
public long countAdniRows()
{
long count = jdbcTemplate.queryForObject(
"SELECT COUNT(*) FROM science.adni_merge", Long.class);
"SELECT COUNT(*) FROM adni_merge", Long.class);
return count;
}
......
CREATE SCHEMA IF NOT EXISTS meta;
CREATE DATABASE meta;
\c meta
CREATE TABLE IF NOT EXISTS meta.meta_variables (
SET datestyle to 'European';
CREATE TABLE IF NOT EXISTS meta_variables (
ID serial NOT NULL PRIMARY KEY,
source varchar(256) UNIQUE NOT NULL,
hierarchy json NOT NULL
);
INSERT INTO meta.meta_variables (source, hierarchy) VALUES (
INSERT INTO meta_variables (source, hierarchy) VALUES (
'adni',
'
{
......
......@@ -32,8 +32,8 @@ fi
# Run databases containers
echo "Running databases containers..."
docker run --name science-db-test -p 65432:5432 -v $(pwd)/tests/science-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=science -d postgres:9.5.3
docker run --name portal-db-test -p 65433:5432 -v $(pwd)/tests/meta-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=portal -d postgres:9.5.3
docker run --name science-db-test -p 65432:5432 -v $(pwd)/tests/science-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=postgres -d postgres:9.5.3
docker run --name portal-db-test -p 65433:5432 -v $(pwd)/tests/meta-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=postgres -d postgres:9.5.3
# Get gateway IP
......@@ -46,6 +46,7 @@ echo "Gateway IP: $GATEWAY_IP"
# Wait for databases to be ready
echo "Waiting for science-db to start..."
sleep 3
until [ $(docker exec science-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do
printf '.'
sleep 1
......@@ -53,6 +54,7 @@ done
echo ""
echo "Waiting for portal-db to start..."
sleep 3
until [ $(docker exec portal-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do
printf '.'
sleep 1
......@@ -66,13 +68,13 @@ echo "Running backend container..."
docker run --name backend-test -p 65434:8080 \
-e "PORTAL_DB_URL=jdbc:postgresql://$GATEWAY_IP:65433/portal" \
-e "PORTAL_DB_SERVER=$GATEWAY_IP:65433/portal" \
-e "PORTAL_DB_USER=portal" \
-e "META_DB_URL=jdbc:postgresql://$GATEWAY_IP:65433/portal" \
-e "META_DB_SERVER=$GATEWAY_IP:65433/portal" \
-e "META_DB_USER=portal" \
-e "PORTAL_DB_USER=postgres" \
-e "META_DB_URL=jdbc:postgresql://$GATEWAY_IP:65433/meta" \
-e "META_DB_SERVER=$GATEWAY_IP:65433/meta" \
-e "META_DB_USER=postgres" \
-e "SCIENCE_DB_URL=jdbc:postgresql://$GATEWAY_IP:65432/science" \
-e "SCIENCE_DB_SERVER=$GATEWAY_IP:65432/science" \
-e "SCIENCE_DB_USER=science" \
-e "SCIENCE_DB_USER=postgres" \
-e "CONTEXT_PATH=/services" \
-e "AUTHENTICATION=0" \
-d hbpmip/portal-backend:latest
......
SET datestyle to 'European';
CREATE DATABASE science;
\c science
CREATE SCHEMA IF NOT EXISTS science;
SET datestyle to 'European';
CREATE TABLE science.ADNI_MERGE
CREATE TABLE IF NOT EXISTS ADNI_MERGE
(
tv1 char(256),
tv2 numeric,
......@@ -14,4 +15,4 @@ WITH (
OIDS=FALSE
);
COPY science.ADNI_MERGE FROM '/docker-entrypoint-initdb.d/values.csv' CSV HEADER;
COPY ADNI_MERGE FROM '/docker-entrypoint-initdb.d/values.csv' CSV HEADER;
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment