adding Postgres configurations for dev-environment with sample-data
This commit is contained in:
parent
24e76e03d1
commit
6efa167427
37
README.md
37
README.md
@ -3,8 +3,6 @@
|
||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
**Table of Contents** _generated with [DocToc](https://github.com/thlorenz/doctoc)_
|
||||
|
||||
- [Setting up the Development Environment](#setting-up-the-development-environment)
|
||||
- [Frequent Tasks](#frequent-tasks)
|
||||
- [Building the Application with Test Execution](#building-the-application-with-test-execution)
|
||||
@ -36,13 +34,42 @@ TODO: Instructions for setting up the dev environment from scratch.
|
||||
|
||||
### Starting the Application
|
||||
|
||||
Either simply:
|
||||
To use an **H2 in-memory database** populated with sample-data.
|
||||
|
||||
gw bootRun
|
||||
|
||||
or with a specific port:
|
||||
To use an **H2 file-based database**, start the application with the h2file profile:
|
||||
|
||||
SERVER_PORT=8081 ./gradlew bootRun
|
||||
gw bootRun -Ph2file
|
||||
gw bootRun -Ph2file,sample-data # populated with sample data
|
||||
|
||||
To use a **local Postgres database**, first prepare your environment:
|
||||
|
||||
export HSADMINNG_DB_URL='jdbc:postgresql://localhost:5432/DBNAME'
|
||||
export HSADMINNG_DB_USER='DBUSER'
|
||||
export HSADMINNG_DB_PASS='DBPASS'
|
||||
|
||||
Where `DBNAME`, `DBUSER` and `DBPASS` are replaced by your credentials.
|
||||
|
||||
Then start the application with the pgsql profile:
|
||||
|
||||
gw bootRun -Ppgsql
|
||||
gw bootRun -Ppgsql,sample-data # populated with sample data
|
||||
|
||||
To use a **remote Postgres database** on a hostsharing server,
|
||||
|
||||
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" \
|
||||
-f -N -L 55432:127.0.0.1:5432 "xyz00@xyz.hostsharing.net"
|
||||
|
||||
Then prepare your environment, e.g. like this:
|
||||
|
||||
export HSADMINNG_DB_URL='jdbc:postgresql://localhost:55432/xyz00_hsadminng'
|
||||
export HSADMINNG_DB_USER='xyz00_hsadminng'
|
||||
export HSADMINNG_DB_PASS='whatever'
|
||||
|
||||
In all cases, you can also **specify the port** to used for the application via environment:
|
||||
|
||||
SERVER_PORT=8081 gw bootRun ...
|
||||
|
||||
### Running JUnit tests with branch coverage
|
||||
|
||||
|
@ -8,7 +8,14 @@ dependencies {
|
||||
compile "com.h2database:h2"
|
||||
}
|
||||
|
||||
def profiles = 'dev'
|
||||
def profiles = "";
|
||||
if (project.hasProperty('pgsql')) {
|
||||
profiles += 'pgsql'
|
||||
} else if (project.hasProperty('h2file')) {
|
||||
profiles += 'h2file'
|
||||
} else {
|
||||
profiles += 'h2mem'
|
||||
}
|
||||
if (project.hasProperty('no-liquibase')) {
|
||||
profiles += ',no-liquibase'
|
||||
}
|
||||
@ -16,6 +23,8 @@ if (project.hasProperty('tls')) {
|
||||
profiles += ',tls'
|
||||
}
|
||||
|
||||
println 'activating profiles: ' + profiles
|
||||
|
||||
springBoot {
|
||||
buildInfo {
|
||||
properties {
|
||||
|
@ -36,22 +36,12 @@ spring:
|
||||
serialization:
|
||||
indent-output: true
|
||||
datasource:
|
||||
# this is just a common configuration for the dev-profiles h2mem, h2file and pgsql
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
# H2 in memory:
|
||||
url: jdbc:h2:mem:hsadminng;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
|
||||
# H2 in file:
|
||||
# url: jdbc:h2:~/.hsadminng.h2db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
|
||||
username: hsadminNg
|
||||
password:
|
||||
hikari:
|
||||
poolName: Hikari
|
||||
auto-commit: false
|
||||
h2:
|
||||
console:
|
||||
enabled: false
|
||||
jpa:
|
||||
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
|
||||
database: H2
|
||||
show-sql: true
|
||||
properties:
|
||||
hibernate.id.new_generator_mappings: true
|
||||
@ -60,7 +50,7 @@ spring:
|
||||
hibernate.cache.use_query_cache: false
|
||||
hibernate.generate_statistics: true
|
||||
liquibase:
|
||||
contexts: dev,sample-data
|
||||
contexts: dev
|
||||
mail:
|
||||
host: localhost
|
||||
port: 25
|
||||
|
22
src/main/resources/config/application-h2file.yml
Normal file
22
src/main/resources/config/application-h2file.yml
Normal file
@ -0,0 +1,22 @@
|
||||
# Configuration for the dev-profile using a file-based H2 database.
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
active: h2,h2file
|
||||
include:
|
||||
- dev
|
||||
- swagger
|
||||
# Uncomment to activate TLS for the dev profile
|
||||
#- tls
|
||||
datasource:
|
||||
url: url: jdbc:h2:~/.hsadminng.h2db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
|
||||
username: hsadminNg
|
||||
password:
|
||||
h2:
|
||||
console:
|
||||
enabled: false
|
||||
jpa:
|
||||
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
|
||||
database: H2
|
||||
liquibase:
|
||||
contexts: dev
|
22
src/main/resources/config/application-h2mem.yml
Normal file
22
src/main/resources/config/application-h2mem.yml
Normal file
@ -0,0 +1,22 @@
|
||||
# Configuration for the dev-profile using an in-memory H2 database.
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
active: h2,h2mem
|
||||
include:
|
||||
- dev
|
||||
- swagger
|
||||
# Uncomment to activate TLS for the dev profile
|
||||
#- tls
|
||||
datasource:
|
||||
url: jdbc:h2:mem:hsadminng;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
|
||||
username: hsadminNg
|
||||
password:
|
||||
h2:
|
||||
console:
|
||||
enabled: false
|
||||
jpa:
|
||||
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
|
||||
database: H2
|
||||
liquibase:
|
||||
contexts: dev,sample-data
|
19
src/main/resources/config/application-pgsql.yml
Normal file
19
src/main/resources/config/application-pgsql.yml
Normal file
@ -0,0 +1,19 @@
|
||||
# Configuration for the dev-profile using a Postgres database specified via environment.
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
active: dev,pgsql
|
||||
include:
|
||||
- dev
|
||||
- swagger
|
||||
# Uncomment to activate TLS for the dev profile
|
||||
#- tls
|
||||
datasource:
|
||||
url: ${HSADMINNG_DB_URL}
|
||||
username: ${HSADMINNG_DB_USER}
|
||||
password: ${HSADMINNG_DB_PASS}
|
||||
jpa:
|
||||
database-platform: io.github.jhipster.domain.util.FixedPostgreSQL82Dialect
|
||||
database: POSTGRESQL
|
||||
liquibase:
|
||||
contexts: dev
|
@ -18,11 +18,21 @@
|
||||
</loadData>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="20190502111400-2" author="mhoennig" context="sample-data">
|
||||
<sql>
|
||||
<changeSet id="20190502111400-2" author="mhoennig" context="sample-data,">
|
||||
|
||||
<!-- I've tried extracting this to a stored procedure, but a compatible call
|
||||
is only possible with PostgresSQL 11.x, otherwise the call syntax
|
||||
between H2 and PostgresSQL would be different which defeated the point.
|
||||
-->
|
||||
|
||||
<sql dbms="h2">
|
||||
UPDATE asset SET remark = replace(remark, '|', STRINGDECODE('\n'))
|
||||
</sql>
|
||||
|
||||
<sql dbms="postgresql">
|
||||
UPDATE asset SET remark = replace(remark, '|', E'\n')
|
||||
</sql>
|
||||
|
||||
<rollback>
|
||||
DELETE FROM asset;
|
||||
</rollback>
|
||||
|
@ -19,8 +19,22 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="20190403083736-3" author="mhoennig" context="sample-data">
|
||||
<sql>
|
||||
UPDATE customer SET contractual_address = replace(contractual_address, '|', STRINGDECODE('\n'))
|
||||
|
||||
<!-- I've tried extracting this to a stored procedure, but a compatible call
|
||||
is only possible with PostgresSQL 11.x, otherwise the call syntax
|
||||
between H2 and PostgresSQL would be different which defeated the point.
|
||||
-->
|
||||
|
||||
<sql dbms="h2">
|
||||
UPDATE customer SET contractual_address = replace(contractual_address, '|', STRINGDECODE('\n'));
|
||||
UPDATE customer SET billing_address = replace(billing_address, '|', STRINGDECODE('\n'));
|
||||
UPDATE customer SET remark = replace(remark, '|', STRINGDECODE('\n'));
|
||||
</sql>
|
||||
|
||||
<sql dbms="postgresql">
|
||||
UPDATE customer SET contractual_address = replace(contractual_address, '|', '\n');
|
||||
UPDATE customer SET billing_address = replace(billing_address, '|', '\n');
|
||||
UPDATE customer SET remark = replace(remark, '|', E'\n');
|
||||
</sql>
|
||||
|
||||
<rollback>
|
||||
|
@ -19,10 +19,20 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="20190502100700-2" author="mhoennig" context="sample-data">
|
||||
<sql>
|
||||
|
||||
<!-- I've tried extracting this to a stored procedure, but a compatible call
|
||||
is only possible with PostgresSQL 11.x, otherwise the call syntax
|
||||
between H2 and PostgresSQL would be different which defeated the point.
|
||||
-->
|
||||
|
||||
<sql dbms="h2">
|
||||
UPDATE membership SET remark = replace(remark, '|', STRINGDECODE('\n'))
|
||||
</sql>
|
||||
|
||||
<sql dbms="postgresql">
|
||||
UPDATE customer SET remark = replace(remark, '|', E'\n');
|
||||
</sql>
|
||||
|
||||
<rollback>
|
||||
DELETE FROM membership;
|
||||
</rollback>
|
||||
|
@ -19,10 +19,20 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="20190503152800-2" author="mhoennig" context="sample-data">
|
||||
<sql>
|
||||
|
||||
<!-- I've tried extracting this to a stored procedure, but a compatible call
|
||||
is only possible with PostgresSQL 11.x, otherwise the call syntax
|
||||
between H2 and PostgresSQL would be different which defeated the point.
|
||||
-->
|
||||
|
||||
<sql dbms="h2">
|
||||
UPDATE sepa_mandate SET remark = replace(remark, '|', STRINGDECODE('\n'))
|
||||
</sql>
|
||||
|
||||
<sql dbms="postgresql">
|
||||
UPDATE customer SET remark = replace(remark, '|', E'\n');
|
||||
</sql>
|
||||
|
||||
<rollback>
|
||||
DELETE FROM sepa_mandate;
|
||||
</rollback>
|
||||
|
@ -19,10 +19,20 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="20190502111400-2" author="mhoennig" context="sample-data">
|
||||
<sql>
|
||||
|
||||
<!-- I've tried extracting this to a stored procedure, but a compatible call
|
||||
is only possible with PostgresSQL 11.x, otherwise the call syntax
|
||||
between H2 and PostgresSQL would be different which defeated the point.
|
||||
-->
|
||||
|
||||
<sql dbms="h2">
|
||||
UPDATE share SET remark = replace(remark, '|', STRINGDECODE('\n'))
|
||||
</sql>
|
||||
|
||||
<sql dbms="postgresql">
|
||||
UPDATE customer SET remark = replace(remark, '|', E'\n');
|
||||
</sql>
|
||||
|
||||
<rollback>
|
||||
DELETE FROM share;
|
||||
</rollback>
|
||||
|
Loading…
Reference in New Issue
Block a user