fix(postgres): fix postgres setup to handle existing database (#3092)

This commit is contained in:
Jensen Yap 2021-08-13 14:24:37 +09:00 committed by GitHub
parent c13d83b5c5
commit 48b3d7afa0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

View File

@ -1,5 +1,8 @@
#!/bin/sh
export PGPASSWORD=$POSTGRES_PASSWORD
# workaround create database if not exists, check https://stackoverflow.com/a/36591842
psql -U $POSTGRES_USERNAME -h $POSTGRES_HOST -p $POSTGRES_PORT -tc "SELECT 1 FROM pg_database WHERE datname = '${DATAHUB_DB_NAME}'" | grep -q 1 || psql -U $POSTGRES_USERNAME -h $POSTGRES_HOST -p $POSTGRES_PORT -c "CREATE DATABASE ${DATAHUB_DB_NAME}"
sed -e "s/DATAHUB_DB_NAME/${DATAHUB_DB_NAME}/g" /init.sql | tee -a /tmp/init-final.sql
psql -d $POSTGRES_DATABASENAME -U $POSTGRES_USERNAME -h $POSTGRES_HOST -p $POSTGRES_PORT < /tmp/init-final.sql
psql -d $DATAHUB_DB_NAME -U $POSTGRES_USERNAME -h $POSTGRES_HOST -p $POSTGRES_PORT < /tmp/init-final.sql

View File

@ -1,8 +1,5 @@
-- create datahub database
CREATE DATABASE IF NOT EXISTS DATAHUB_DB_NAME;
-- create metadata aspect table
CREATE TABLE IF NOT EXISTS DATAHUB_DB_NAME.metadata_aspect_v2 (
CREATE TABLE IF NOT EXISTS metadata_aspect_v2 (
urn varchar(500) not null,
aspect varchar(200) not null,
version bigint not null,
@ -15,7 +12,7 @@ CREATE TABLE IF NOT EXISTS DATAHUB_DB_NAME.metadata_aspect_v2 (
);
-- create default records for datahub user if not exists
CREATE TABLE temp_metadata_aspect_v2 LIKE metadata_aspect_v2;
CREATE TEMP TABLE temp_metadata_aspect_v2 AS TABLE metadata_aspect_v2;
INSERT INTO temp_metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES(
'urn:li:corpuser:datahub',
'corpUserInfo',