Skip to content

错误修复

  • 首次打开 BlueNova 创建项目后,点击项目名无法进入的问题已修复。(初始化多进程共享数据库判断有问题。)
  • 现在可以保存空白查询了。
  • 在同一个标签内重复执行某个查询,表格没有正确显示的问题已解决。(执行间虽然 state 更新了,但是每行的 key 都是列表索引……)

更改

  • 今后的发布都要要考虑额外的驱动,所以修改了版本的数据库存储、发布流程、R2 的存储方式。Alpha.2 和之前的版本检查更新的时候会报错。

  • SQL 中的注释指令统一了格式,并支持自动完成。目前的注释指令有:@stmt, @param, @colrender

    • @stmt name / isquery[=boolean]
    • @param name / type [/ key=value [; key=value ...]]
    • @colrender column_name [, column_name ...] / renderer [/ key=value [; key=value ...]]
  • 点击表名后按下 Ctrl+C 可以复制了。

  • Ctrl+S 保存查询时提示。

  • 删除查询前须确认。

  • Mssql 的 UNIQUEIDENTIFIER 现在和 MSSQL 数据库的输出一致,而不是按照标准的 UUID 来解析。

  • 解决 Javascript Number 和 Golang int64/uint64 间的精度问题,现在双向的传递都是安全的了。

  • 不再开启隐藏的事务。在 UI 层面的事务支持前,直接使用 DB 来执行玩家的查询。只读的实现由前端根据语句意图来判断。

  • SQL 中的日期时间参数或者日期时间的单元格修改时,不再需要提供 layout 选项。现在可以直接向后端传递 Javascript Date 对象,转换为 Golang time.Time 提交给驱动。

  • 重新导入已删除的项目时,不在重新分配 ProjectId。

  • 数据库列表以名称排序,之前是创建时间倒序。

新增

  • 开始提供 MacOS X64 支持。

  • 在 SQL 查询中使用注释指令自定义列的渲染方式。int -> bool/datetime/enum; bytes -> uuid/string/bool; 具体格式参见文档:自定义列渲染

  • Duckdb 支持。改用了marcboeker/go-duckdb,不必再单独安装libduckdb

  • SQLite 和 Duckdb 都支持额外的 JSON 配置。

  • 空白标签页的消息可以配置(全是 Emoji 可能不符合用户的气质)。可以在设置界面关闭和自定义。自定义需要购买授权。

  • 支持更多的 BSON 数据类型。(MongoDB)

  • 在表格中,鼠标放到横向滚动条上面滚动,会触发横向滚动。(默认行为是 Shift+滚轮)

  • 在页签名字导航栏滚动鼠标也会触发横向滚动。

  • Redis 查询也可以导出了(仅 JSON)。

  • 数据库操作按钮增加了一个 Ping 功能,用于检测连接状态。

结语

关于插件式的数据库驱动功能,最开始使用 UDS 实现,发现了驱动进程重启后的状态同步问题。改向由动态库实现,做的差不多了,又发现在 MacOs 上会报错。 目前暂时不做插件的考虑了,打包 DuckDB 后压缩包大了越 8MB,解压后大了越 30M……我倒是能接受。之后如果支持更多的数据库,还是会考虑 使用 UDS 来实现,毕竟驱动进程奔溃是一件低概率的事情……

希望这个版本是能够胜任日常的简单使用的,至少已提供的功能都没有 Bug。但是自测总是避免不了遗漏,希望大家积极反馈,会赠送一年的授权(需提供邮箱)。