Skip to content

Instantly share code, notes, and snippets.

@sean-e-dietrich
Last active November 16, 2018 23:54
Show Gist options
  • Select an option

  • Save sean-e-dietrich/5e34660d46b500fe982ef10d4b287fe8 to your computer and use it in GitHub Desktop.

Select an option

Save sean-e-dietrich/5e34660d46b500fe982ef10d4b287fe8 to your computer and use it in GitHub Desktop.
Open Sequel Pro from within Docksal
#!/usr/bin/env bash
## Opens SequelPro
##
## Usage: fin sequelpro
# Abort if anything fails
set -e
container_port=$(docker ps --all --filter 'label=com.docker.compose.service=db' --filter "label=com.docker.compose.project=${COMPOSE_PROJECT_NAME_SAFE}" --format '{{.Ports}}' | sed 's/.*0.0.0.0://g'|sed 's/->.*//g')
HOST=${VIRTUAL_HOST}
DB=${MYSQL_DATABASE:-default}
USER=${MYSQL_USER:-root}
PASS=${MYSQL_PASS:-root}
NAME=${COMPOSE_PROJECT_NAME}
PORT=${PORT:-$container_port}
FILENAME=/tmp/docksal-sequelpro-${RANDOM}.spf
cat <<EOT >> $FILENAME
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ContentFilters</key>
<dict/>
<key>auto_connect</key>
<true/>
<key>data</key>
<dict>
<key>connection</key>
<dict>
<key>database</key>
<string>${DB}</string>
<key>host</key>
<string>${HOST}</string>
<key>name</key>
<string>${NAME}</string>
<key>user</key>
<string>${USER}</string>
<key>password</key>
<string>${PASS}</string>
<key>port</key>
<integer>${PORT}</integer>
<key>rdbms_type</key>
<string>mysql</string>
</dict>
<key>session</key>
<dict/>
</dict>
<key>encrypted</key>
<false/>
<key>format</key>
<string>connection</string>
<key>queryFavorites</key>
<array/>
<key>queryHistory</key>
<array/>
<key>rdbms_type</key>
<string>mysql</string>
<key>version</key>
<integer>1</integer>
</dict>
</plist>
EOT
open $FILENAME
@sean-e-dietrich

Copy link
Copy Markdown
Author

File can be placed within

~/.docksal/commands

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment