id = "tableplus" name = "TablePlus" homepage = "https://tableplus.com" description = "Modern, native client with intuitive GUI tools to create, access, query and edit multiple relational databases." # The app icon, from the favicon set on tableplus.com. icon = "https://tableplus.com/resources/favicons/apple-icon-180x180.png" # TablePlus ships no command-line tool, so `detect` carries the bundle # identifiers. Two of them, because the same app is sold twice: the Homebrew # cask's zap stanza names com.tinyapp.TablePlus # (https://formulae.brew.sh/api/cask/tableplus.json), and this machine has # /Applications/Setapp/TablePlus.app writing # ~/Library/Preferences/com.tinyapp.TablePlus-setapp.plist. A consumer skips # whichever build is not installed. executables = [] platforms = ["macos"] [installation] macos_bundle_ids = ["com.tinyapp.TablePlus", "com.tinyapp.TablePlus-setapp"] [dotfiles] # The description is trimmed from tableplus.com's own meta description. # # Read back on this machine (Setapp build), # ~/Library/Application Support/com.tinyapp.TablePlus-setapp/Data/ holds # Connections.plist, ConnectionGroups.plist and Settings.json — the saved # connections, the groups they are filed under and the workspace state. The # preferences domain beside it holds the editor and appearance settings: # ThemeKitTheme, the TPShortcut* key bindings, AutoCompleteKey, DataRowPadding, # DefaultDarkTheme, the export delimiters and the rest. # # The Homebrew cask's zap list names the same two locations for the direct # build, under com.tinyapp.TablePlus instead of the -setapp suffix. # # [appData] is ~/Library/Application Support and [preferences] is # ~/Library/Preferences; the entry is macOS-only, so there is no other platform # for those roots to stand for. paths = [ "[appData]/com.tinyapp.TablePlus/Data/", "[appData]/com.tinyapp.TablePlus-setapp/Data/", "[preferences]/com.tinyapp.TablePlus.plist", "[preferences]/com.tinyapp.TablePlus-setapp.plist", ] # The rest of the support directory is not named above: Cache/ and Temp/ are # per-machine scratch (this machine's Temp/ is full of per-table column-option # files and last-run SQL), com.microsoft.appcenter is telemetry bookkeeping, # and Plugins/ holds installed .tableplusplugin bundles — software rather than # settings. Nothing inside Data/ needs carving out. # Connections.plist is not a whole-file credential: read back on this machine # its keys are ConnectionName, DatabaseType, DatabaseHost, DatabasePort, # DatabaseUser, DatabaseName, isOverSSH, isUsePrivateKey, ServerAddress, # ServerUser, TlsKeyPaths and so on — plus DatabasePasswordMode and # ServerPasswordMode, which record *how* the password is stored rather than the # password. No password field appears in the file; TablePlus keeps the secret # itself in the macOS keychain, which is outside this catalog's reach. A # consumer that scans content will still see the host names and user names go # by, which is the point of the connection list. secret = [] # No machine_lines: the connection list, its groups and the editor preferences # are exactly what a user wants on their next Mac. A property list has no # matcher in this schema — `format` covers toml, yaml and json only — so the # absolute DatabasePath a SQLite connection carries cannot be named here.