尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Sequel Ace 核心功能实战:查询快捷键、ENUM 字段创建与连接信息存储解析

Sequel Ace 核心功能实战:查询快捷键、ENUM 字段创建与连接信息存储解析 数据库桌面应用开发工具【免费下载链接】Sequel-AceMySQL/MariaDB database management for macOS项目地址https://gitcode.com/gh_mirrors/se/Sequel-Ace点击查看免费下载本篇技术指南聚焦 macOS 平台 MySQL/MariaDB 管理工具 Sequel Ace 的三大核心功能Query 视图的运行快捷键体系、表结构中 ENUM 字段的创建方法以及连接收藏与密码的本地存储机制。文中以官方文档 docs/ref/features.md 的 FAQ 为骨架结合仓库源码SPCustomQuery.m、SPTableStructure.m、SPFavoritesController.m逐层拆解实现原理读完你不仅能熟练使用这些高频功能还能理解其背后的偏好设置项与数据落盘路径便于排查问题或自定义行为。功能入口与文档导航Sequel Ace 的核心功能围绕几个关键界面展开连接管理、数据库导航Navigator、表结构Structure、表内容Content、关系Relations、表信息Table Info以及查询Query视图。官方文档目录将这些界面统称为 Core Features并配套了 Getting Connected、Making Queries、Keyboard Shortcuts、Bundles、Contribute 等专题页面形成完整的学习路径Getting Connected连接入门Making Queries执行查询Keyboard Shortcuts键盘快捷键Reference参考手册Bundles命令包扩展Contribute参与贡献下文即针对参考手册中用户最常提问的三个核心问题展开详解。运行查询的快捷键⌘R 与 ⌘⌥R官方 FAQ 的标准回答在 Query 视图中Sequel Ace 提供两组一键运行快捷键⌘ R运行 Query 视图中的全部命令即编辑区内所有语句。⌘ ⌥ R运行当前选中的文本作为查询若光标处于某个语句内部而没有选中任何文本则运行光标当前所在的整条查询。这一选中即运行、未选中则运行当前语句的智能行为正是 Sequel Ace 在编辑长脚本时的高频使用方式。源码层面的行为机制从当前仓库源码可以确认这两个快捷键并非硬编码绑定而是映射到 Query 控制器的两个主/次动作且其语义可以通过偏好设置互换。在 Source/Controllers/MainViewControllers/SPCustomQuery.m 中runPrimaryQueryAction:L157-L164读取偏好SPQueryPrimaryControlRunsAll若为YES调用runAllQueries:运行全部否则调用runSelectedQueries:运行选中文本 / 当前查询。runSecondaryQueryAction:L169-L176执行与主动作相反的语义形成互补。switchDefaultQueryAction:L181-L186提供运行时切换入口将SPQueryPrimaryControlRunsAll取反后刷新界面。偏好项的默认值定义在 Resources/Plists/PreferenceDefaults.plistkeyQueryPrimaryControlRunsAll/key false/即默认情况下主要运行动作是运行选中文本 / 当前查询次要运行动作是运行全部。因此如果你希望严格复现官方 FAQ 文档所描述的⌘R 运行全部、⌘⌥R 运行选中/当前映射需要在偏好设置中切换主/次动作反之文档中的映射即对应QueryPrimaryControlRunsAll为YES时的状态。两种映射的语义始终互补用户可根据个人习惯自由互换。运行语义的细节选中与未选中runSelectedQueries:L237-L281是理解选中即运行、未选中则运行当前语句的关键若当前文本选区长度大于 0则对选中文本调用SPSQLParser按分号;拆分为多条语句后逐一执行若选区长度为 0纯光标则回退到currentQueryRange定位的光标所在当前查询取整条语句执行找不到合适查询范围时会NSBeep()提示无论哪种分支都会先归一化语句normaliseQueryForExecution处理回车换行再统一走performQueries:withCallback:执行管线。而runAllQueries:L192 起则对编辑区整个文本按分号拆分为多条查询并按序执行同样先经SPSQLParser归一化。两个方法在开头都有一道防重入保护[tableDocumentInstance isWorking]防止长按快捷键导致查询重复触发。从源码结构看界面上的 Run All / Run Current / Run Previous / Run Selection 按钮与菜单项标题会根据当前选区状态动态更新见 updateQueryInteractionInterface 与 updateContextualRunInterface做到所见即所运行。在表结构中创建 ENUM 字段官方 FAQ 的标准回答创建 ENUM 字段与创建其他类型字段的流程一致在Table Structure表结构表单的Type列选择enum然后在Length列中以逗号分隔的带引号字符串填写枚举成员如需默认值则在Default列直接输入不带引号的值。典型写法Length 列red,green,blue对应的 Default 列示例green源码中的 ENUM 处理逻辑在 Source/Controllers/MainViewControllers/TableStructure/SPTableStructure.m 中可以找到与上述操作完全对应的实现细节默认值的引号规则L1253-L1262CHAR、TEXT、ENUM后缀类型以及TIMESTAMP、DATETIME、DATE等类型其默认值必须用单引号或双引号包裹表达式除外而对ENUM字段若用户留空默认值还会走专门的空值处理分支避免生成非法 SQL。成员值解析L1811-L1828当类型为ENUM或SET时代码读取字段字典中的values键来提取枚举成员列表并在构建列定义时正确还原为ENUM(member,...)的形式。枚举列表缓存enumFields字典L1445-L1449按字段名保存枚举/集合类型的全部候选值供表内容编辑、筛选等界面下拉使用。ENUM 的类型约束来自源码内嵌帮助SPTableStructure.m中内置了 ENUM 类型的帮助文本L2993-L2995明确了它的技术边界语法ENUM(member,...)最多支持 65535 个不同成员实践中建议不超过约 3000 个每个值按索引号排序首个成员索引为 0每行 1–2 字节存储每行字段最多只能取其中一个成员。这些约束同样适用于 MySQL 与 MariaDB在设计枚举列时可直接作为参考。连接信息与密码存储在哪里官方 FAQ 的标准回答Sequel AcemacOS 沙盒版本将连接字符串保存在以下偏好文件~/Library/Containers/com.sequel-ace.sequel-ace/Data/Library/Application Support/Sequel Ace/Data/Favorites.plist而连接密码并不写入该 plist而是保存在 macOS 系统钥匙串Keychain中默认位置为~/Library/Keychains/login.keychain-db由于 macOS 中~/Library目录默认隐藏可通过 Finder 菜单 前往 → 前往文件夹…快捷键⌘ ⇧ G输入上述路径直接打开例如输入~/Library/Preferences/打开偏好设置目录。源码中的加载与回退机制Favorites.plist 的实际读取逻辑位于 Source/Controllers/DataControllers/SPFavoritesController.m 的_loadFavoritesL246-L294文件名常量SPFavoritesDataFile Favorites.plist定义于 Source/Other/Data/SPConstants.m数据目录通过applicationSupportDirectoryForSubDirectory:解析沙盒容器下的 Application Support/Sequel Ace/Data若 plist 已存在则直接加载为可变字典若不存在则创建一个包含默认 Favorites 根节点SPFavoritesRootKey的空结构并以 XML 格式原子写入NSAtomicWrite随后在内存中同样初始化一份——即首次启动会自动生成空收藏文件整个过程由pthread_mutex互斥锁保护避免并发读写损坏文件。文件导出场景中收藏另存名称使用SequelAceFavorites.plist见 Source/Controllers/MainViewControllers/ConnectionView/SPConnectionController.m用于区分原 Sequel Pro 格式。从 Sequel Pro 迁移收藏如果你此前使用 Sequel Pro可参考官方迁移文档 docs/get-started/migrating-from-sequel-pro.md其中给出了直接复制收藏文件的命令L23cp ~/Library/Application\ Support/Sequel\ Pro/Data/Favorites.plist ~/Library/Containers/com.sequel-ace.sequel-ace/Data/Library/Application\ Support/Sequel\ Ace/Data/Favorites.plist复制后重新启动 Sequel Ace 即可在收藏列表中看到原连接密码部分则需在钥匙串中重新授权或按迁移文档的指引处理。小结Sequel Ace 的三大高频能力在官方 FAQ 中均有明确定义而在仓库源码中又能找到一一对应的实现快捷键体系由SPQueryPrimaryControlRunsAll偏好与runPrimaryQueryAction/runSecondaryQueryAction双动作机制驱动可自由互换主次语义ENUM 字段的创建、默认值引号规则与成员解析由SPTableStructure.m完整承接并内置了类型边界说明连接收藏落盘于沙盒路径下的Favorites.plist密码则安全地保存在系统钥匙串首次运行会自动初始化空收藏文件。理解这些底层机制后无论是日常使用、偏好调优还是从 Sequel Pro 平滑迁移都能做到有的放矢。赞分享数据库桌面应用开发工具【免费下载链接】Sequel-AceMySQL/MariaDB database management for macOS项目地址https://gitcode.com/gh_mirrors/se/Sequel-Ace点击查看免费下载相关推荐SMProxy核心组件剖析Handler、Packet与Pool的协同工作机制SMProxy核心组件剖析Handler、Packet与Pool的协同工作机制 SMProxy作为一款基于Swoole开发的MySQL数据库连接池其核心功能数据库桌面应用开发工具Sequel Ace核心功能全解析从数据库连接到数据可视化的一站式解决方案Sequel Ace核心功能全解析从数据库连接到数据可视化的一站式解决方案 Sequel Ace作为Mac OS X平台上的MySQL和PostgreSQL数数据库桌面应用开发工具上一篇7 Taskbar Tweaker完整指南解锁Windows任务栏的终极定制自由下一篇浏览器里的光学实验室Ray Optics 模拟器终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表