Skip to content

Basalt 0.3.0

Choose a tag to compare

@zxing258974 zxing258974 released this 23 Oct 01:18
· 9 commits to main since this release

macOS 上的桌面数据库客户端,支持 MySQL、MariaDB、PostgreSQL、SQLite。Tauri 2 + Rust + React。

新功能

  • 服务器监控:连接右键「服务器监控」,看 MySQL / MariaDB / PostgreSQL 的每秒查询数(PostgreSQL 是事务数)、连接数占上限的比例、缓存命中率、收发流量、慢查询,带最近一段的走势;每 2 / 5 / 10 秒刷新一次,可以暂停。下面是会话列表,在执行的排前面,能隐藏空闲会话、按字段筛选。
    • 能终止某个会话正在执行的语句,或者断开它的连接:先确认,动手前再核对一次会话还是不是确认时的那个。
    • 账号权限不够、只看得到一部分会话时,页面上写明。
  • SSH 隧道:
    • 登录方式加了 SSH Agent,也认 ~/.ssh/config 里的 IdentityAgent(比如 1Password)。
    • 可以串起一台或几台跳板机,写法同 OpenSSH 的 ProxyJump,每一台都核对主机密钥。
    • SSH 页能从 ~/.ssh/config 选一台主机,自动填好地址、端口、用户名、私钥和跳板机。
  • JOIN 的查询结果也能改:JOIN 了几张表时一次改一张(在底栏选改哪张),只改格子、不增删行;同名的列在表头带上表名区分。
  • SQL 美化:顶栏「美化」或 ⇧⌘F,按所连数据库的语法排版。有选中的文字时只美化选中的部分,一步就能撤销。排版前后逐词核对,只改空白,对不上就不改并说明原因。
  • 标出错误位置:语句出错时,在编辑器里出错的那个词下面画红色波浪线,鼠标悬停能看报错原文。
  • PostgreSQL 的服务器消息:RAISE NOTICE、RAISE WARNING 这类消息列在「消息」页对应的语句下面。
  • 导出查询结果时,按表格上点过的排序写出。
  • 查询顶栏的 SQL 助手按钮换成了醒目的流光样式。

行为变化

  • 点窗口的关闭按钮不再退出应用:窗口收起来,连接和标签页都留着,点程序坞图标就回来。⌘Q 或程序坞右键「退出」才真正退出。
  • 从程序坞退出、关机、注销时也会提醒:有没提交的表格修改、没保存的表结构时先问一句(以前只有 ⌘Q 会问)。关机或注销被这一问挡下时,处理完再关一次机即可。

修复

  • MySQL 视图打不开:在表很多的服务器上(打开的表比 table_definition_cache 多,云数据库上常见),表能看,视图却报「Prepared statement needs to be re-prepared」。现在表数据页和导出改用和 SQL 编辑器一样的方式读数据,不会再报这个错。顺带的变化:日期时间照服务器发来的原样显示,DATETIME(3) 的小数秒按列定义显示三位(如 08:05:09.120)。
  • 钥匙串授权框不再反复弹:以前存在钥匙串里的旧密码改成启动时一次搬完,授权框都在这时弹完。中途拒绝一次就不再问,剩下的到用的时候重新填。

从 0.1.0 / 0.2.0 升级

还没搬进 secrets.json 的旧密码,会在升级后第一次启动时从钥匙串一次读完。钥匙串可能连着弹几个授权框,输入登录密码后点「始终允许」即可,之后不再碰钥匙串。钥匙串里的旧条目不会自动删,不需要了可以在「钥匙串访问」里搜 dev.basalt.app 手动删。

下载与安装

  • 附件 Basalt-0.3.0-macos-arm64.zip:只支持 Apple 芯片的 Mac(arm64)。
  • 解压后把 Basalt.app 拖进「应用程序」。

第一次打开

这个包是**临时签名(ad-hoc)**的:没有 Apple 开发者证书签名,也没有经过 Apple 公证,macOS 第一次会拦下来。

  • macOS 14 及更早:在「应用程序」里右键(或按住 Control 点按)Basalt,选「打开」,在弹出的对话框里再点「打开」。

  • macOS 15 及更新:右键「打开」已经不管用了。先双击打开一次,被拦下后关掉提示;到「系统设置 → 隐私与安全性」,往下找到 Basalt 那一条,点「仍要打开」,再输一次登录密码确认。

  • 如果提示「已损坏,无法打开」:在终端执行下面这条命令后再打开。

    xattr -dr com.apple.quarantine /Applications/Basalt.app
    

校验

Basalt-0.3.0-macos-arm64.zip 的 SHA-256:

66f33e499d7c68aae53d12a4dcb274430becda76904753edd7b72b0ba29bdbb8