Page MenuHomec4science

00-i2b2-schemas-roles.sh
No OneTemporary

File Metadata

Created
Sat, Sep 7, 02:17

00-i2b2-schemas-roles.sh

#!/bin/bash
set -e
# create schemas and database users for i2b2
function initSchema {
DB_NAME="$1"
SCHEMA_NAME="$2"
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" -d "$DB_NAME" <<-EOSQL
DO
\$body\$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_user WHERE usename = '$SCHEMA_NAME') THEN
CREATE ROLE $SCHEMA_NAME LOGIN PASSWORD '$DB_PASSWORD';
END IF;
END
\$body\$;
create schema $SCHEMA_NAME;
grant all on schema $SCHEMA_NAME to $SCHEMA_NAME;
grant all privileges on all tables in schema $SCHEMA_NAME to $SCHEMA_NAME;
EOSQL
}
# create the databases
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
CREATE DATABASE $I2B2_DEMO_DB_NAME;
CREATE DATABASE $I2B2_MEDCO_DB_NAME;
EOSQL
# init demo i2b2 database
initSchema $I2B2_DEMO_DB_NAME i2b2demodata
initSchema $I2B2_DEMO_DB_NAME i2b2imdata
initSchema $I2B2_DEMO_DB_NAME i2b2metadata
initSchema $I2B2_DEMO_DB_NAME i2b2workdata
initSchema $I2B2_DEMO_DB_NAME i2b2pm
initSchema $I2B2_DEMO_DB_NAME i2b2hive
# init medco i2b2 database
initSchema $I2B2_MEDCO_DB_NAME i2b2demodata
initSchema $I2B2_MEDCO_DB_NAME i2b2imdata
initSchema $I2B2_MEDCO_DB_NAME i2b2metadata
initSchema $I2B2_MEDCO_DB_NAME i2b2workdata
initSchema $I2B2_MEDCO_DB_NAME shrine_ont
initSchema $I2B2_MEDCO_DB_NAME genomic_annotations

Event Timeline