github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/pkg/ddevapp/global_dotddev_assets/commands/host/dbeaver (about)

     1  #!/bin/bash
     2  
     3  ## #ddev-generated: If you want to edit and own this file, remove this line.
     4  ## Description: Run DBeaver against current db
     5  ## Usage: dbeaver
     6  ## Example: "ddev dbeaver [db] [user]"
     7  ## OSTypes: darwin,linux,wsl2
     8  ## HostBinaryExists: /mnt/c/Program Files/dbeaver/dbeaver.exe,/Applications/DBeaver.app,/usr/bin/dbeaver,/usr/bin/dbeaver-ce,/usr/bin/dbeaver-le,/usr/bin/dbeaver-ue,/usr/bin/dbeaver-ee,/var/lib/flatpak/exports/bin/io.dbeaver.DBeaverCommunity,/snap/bin/dbeaver-ce
     9  
    10  if [ "${DDEV_PROJECT_STATUS}" != "running" ] && [ -z "$no_recursion" ]; then
    11    echo "Project ${DDEV_PROJECT} is not running, starting it"
    12    ddev start
    13    start_exit_code=$?
    14    if [ $start_exit_code -ne 0 ]; then
    15      exit $start_exit_code
    16    fi
    17    # run this script again, as the environment is updated after "ddev start"
    18    no_recursion=true ddev "$(basename "$0")" "$@"
    19    exit $?
    20  fi
    21  
    22  database="${1:-db}"
    23  user="${2:-root}"
    24  type="$(echo $DDEV_DATABASE | sed 's/:.*//')"
    25  
    26  if [ "${type}" = "postgres" ]; then
    27    type="postgresql"
    28    user="${2:-db}"
    29  fi
    30  
    31  # See: https://dbeaver.com/docs/wiki/Command-Line/#connection-parameters
    32  CONNECTION="name=ddev-${DDEV_PROJECT}|driver=${type}|database=${database}|user=${user}|password=${user}|savePassword=true|host=127.0.0.1|port=${DDEV_HOST_DB_PORT}|openConsole=true|folder=DDEV"
    33  
    34  case $OSTYPE in
    35    "linux-gnu")
    36      # Check for different binaries. Launch the first one found.
    37      BINARIES=(
    38        /usr/bin/dbeaver{,-ce,-le,-ue,-ee}
    39        /var/lib/flatpak/exports/bin/io.dbeaver.DBeaverCommunity
    40        /snap/bin/dbeaver-ce
    41        '/mnt/c/Program Files/dbeaver/dbeaver.exe'
    42      )
    43      for binary in "${BINARIES[@]}"; do
    44        if [ -x "$binary" ]; then
    45          echo "Launching $binary"
    46          "$binary" -con "$CONNECTION" &> /dev/null & disown
    47          exit 0
    48        fi
    49      done
    50      ;;
    51    "darwin"*)
    52      open -a dbeaver.app --args -con "$CONNECTION" &
    53      echo "Attempted to launch DBeaver.app"
    54      ;;
    55  esac