diff --git a/deployment/entrypoint.d/600_init_db.sh b/deployment/entrypoint.d/600_init_db.sh index 95a6ab1..1b87305 100644 --- a/deployment/entrypoint.d/600_init_db.sh +++ b/deployment/entrypoint.d/600_init_db.sh @@ -2,6 +2,27 @@ #assumes database was created (300-ensure-database script) +initialize_database() { # START SECTION db init - if you edit these lines manually note that your change will get lost if you run the IQGeo Project Update tool if ! myw_db $MYW_DB_NAME list versions --layout keys | grep myw_comms_schema | grep version=; then myw_db $MYW_DB_NAME install comms; fi -# END SECTION \ No newline at end of file +# END SECTION +} + +log "Checking for shared-directory..." + +if [ -n "${SHARED_DIRECTORY}" ]; then + log "Found shared-directory, attempting to lock 600_init_db..." + LOCKFILE="${SHARED_DIRECTORY}/600_init_db.lock" + + ( + if ! flock -n 200; then + flock 200 + fi + + initialize_database + + ) 200>"${LOCKFILE}" +else + log "shared-directory not found, initializing database." + initialize_database +fi diff --git a/deployment/entrypoint.d/610_upgrade_db.sh b/deployment/entrypoint.d/610_upgrade_db.sh index a114810..6d198e6 100644 --- a/deployment/entrypoint.d/610_upgrade_db.sh +++ b/deployment/entrypoint.d/610_upgrade_db.sh @@ -1,7 +1,25 @@ #!/bin/bash +upgrade_database() { if [ "${MYW_DB_UPGRADE}" == "YES" ]; then # START SECTION db upgrade - if you edit these lines manually note that your change will get lost if you run the IQGeo Project Update tool if myw_db $MYW_DB_NAME list versions --layout keys | grep myw_comms_schema | grep version=; then myw_db $MYW_DB_NAME upgrade comms; fi # END SECTION -fi \ No newline at end of file +fi +} + +if [ -n "${SHARED_DIRECTORY}" ]; then + log "Found shared-directory, attempting to lock 610_upgrade_db..." + LOCKFILE="${SHARED_DIRECTORY}/610_upgrade_db.lock" + ( + if ! flock -n 200; then + flock 200 + fi + + upgrade_database + + ) 200>"${LOCKFILE}" +else + log "shared-directory not found, upgrading database." + upgrade_database +fi