github.com/Redstoneguy129/cli@v0.0.0-20230211220159-15dca4e91917/internal/db/diff/templates/migra.sh (about)

     1  #!/bin/sh
     2  set -eu
     3  
     4  # pin to latest version: https://pypi.org/project/migra/
     5  pip install -qU migra==3.0.1663481299
     6  
     7  # migra doesn't shutdown gracefully, so kill it ourselves
     8  trap 'kill -9 %1' TERM
     9  
    10  run_migra() {
    11      # additional flags for diffing extensions
    12      [ "$schema" = "extensions" ] && set -- --create-extensions-only --ignore-extension-versions "$@"
    13      migra --unsafe --schema="$schema" "$@"
    14  }
    15  
    16  # accepts command line args as a list of schema to generate
    17  for schema in "$@"; do
    18      # migra exits 2 when differences are found
    19      run_migra "$SOURCE" "$TARGET" || status=$?
    20      if [ ${status:-2} -ne 2 ]; then
    21          exit $status
    22      fi
    23  done