Enable database integration tests against Postgres database (#169)

* For Postgres, if a schema name is provided then it's wrapped in double quotes before passing to Hibernate to preserve case-sensitivity, Liquibase does it out-of-box.
* Sql setup scripts for PostgreSQL and datasource configuration.
This commit is contained in:
szymonsztuka
2018-01-08 14:05:42 +00:00
committed by GitHub
parent e92ce3ad37
commit f2186e7e30
8 changed files with 63 additions and 3 deletions

View File

@ -0,0 +1,3 @@
DROP SCHEMA IF EXISTS "${schema}" CASCADE;
DROP OWNED by "${schema}";
DROP USER "${schema}";

View File

@ -0,0 +1,10 @@
DROP SCHEMA IF EXISTS "${schema}" CASCADE;
DROP OWNED by "${schema}";
DROP USER IF EXISTS "${schema}";
CREATE USER "${schema}" WITH LOGIN password '1234';
CREATE SCHEMA "${schema}";
GRANT ALL ON SCHEMA "${schema}" TO "${schema}";
GRANT ALL ON ALL tables IN SCHEMA "${schema}" TO "${schema}";
ALTER DEFAULT privileges IN SCHEMA "${schema}" GRANT ALL ON tables TO "${schema}";
GRANT ALL ON ALL sequences IN SCHEMA "${schema}" TO "${schema}";
ALTER DEFAULT privileges IN SCHEMA "${schema}" GRANT ALL ON sequences TO "${schema}";

View File

@ -0,0 +1,5 @@
DROP SCHEMA IF EXISTS "${schema}" CASCADE;
CREATE SCHEMA "${schema}";
GRANT ALL ON SCHEMA "${schema}" TO "${schema}";
ALTER DEFAULT privileges IN SCHEMA "${schema}" GRANT ALL ON tables TO "${schema}";
ALTER DEFAULT privileges IN SCHEMA "${schema}" GRANT ALL ON sequences TO "${schema}";

View File

@ -29,18 +29,20 @@ DROP TABLE IF EXISTS ${schema}.node_named_identities;
DROP TABLE IF EXISTS ${schema}.children;
DROP TABLE IF EXISTS ${schema}.parents;
DROP TABLE IF EXISTS ${schema}.contract_cash_states;
DROP TABLE IF EXISTS ${schema}.contract_cash_states_v1;
DROP TABLE IF EXISTS ${schema}.messages;
DROP TABLE IF EXISTS ${schema}.state_participants;
DROP TABLE IF EXISTS ${schema}.cash_states_v2;
DROP TABLE IF EXISTS ${schema}.cash_states_v3;
DROP TABLE IF EXISTS ${schema}.cp_states_v1;
DROP TABLE IF EXISTS ${schema}.cp_states_v2;
DROP TABLE IF EXISTS ${schema}.dummy_deal_states;
DROP TABLE IF EXISTS ${schema}.dummy_linear_states;
DROP TABLE IF EXISTS ${schema}.dummy_linear_states_v2;
DROP TABLE IF EXISTS ${schema}.node_mutual_exclusion;
DROP SEQUENCE IF EXISTS ${schema}.hibernate_sequence;
DROP TABLE IF EXISTS ${schema}.DATABASECHANGELOG;
DROP TABLE IF EXISTS ${schema}.DATABASECHANGELOGLOCK;
DROP SEQUENCE IF EXISTS ${schema}.hibernate_sequence;
DROP USER IF EXISTS ${schema};
DROP LOGIN ${schema};
DROP SCHEMA IF EXISTS ${schema};

View File

@ -0,0 +1,10 @@
dataSourceProperties = {
dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
dataSource.url = "jdbc:postgresql://[HOST]:[PORT]/postgres"
dataSource.user = ${nodeOrganizationName}
dataSource.password = "1234"
}
database = {
transactionIsolationLevel = READ_COMMITTED
schema = ${nodeOrganizationName}
}