Files
Marko 24dd57cb18 mfg
2025-07-17 18:43:41 +02:00

48 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
## #ddev-generated: If you want to edit and own this file, remove this line.
## Description: Run DBeaver against current db
## Usage: dbeaver
## Example: "ddev dbeaver [db] [user]"
## OSTypes: darwin,linux
## HostBinaryExists: /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
if [ "${DDEV_PROJECT_STATUS}" != "running" ]; then
echo "Project ${DDEV_PROJECT} is not running, starting it"
ddev start
fi
database="${1:-db}"
user="${2:-root}"
type="$(echo $DDEV_DATABASE | sed 's/:.*//')"
if [ "${type}" = "postgres" ]; then
type="postgresql"
user="${2:-db}"
fi
# See: https://dbeaver.com/docs/wiki/Command-Line/#connection-parameters
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"
case $OSTYPE in
"linux-gnu")
# Check for different binaries. Launch the first one found.
BINARIES=(
/usr/bin/dbeaver{,-ce,-le,-ue,-ee}
/var/lib/flatpak/exports/bin/io.dbeaver.DBeaverCommunity
/snap/bin/dbeaver-ce
)
for binary in "${BINARIES[@]}"; do
if [ -x "$binary" ]; then
echo "Launching $binary"
$binary -con "$CONNECTION" &> /dev/null & disown
exit 0
fi
done
;;
"darwin"*)
open -a dbeaver.app --args -con "$CONNECTION" &
echo "Attempted to launch DBeaver.app"
;;
esac