// the find
lazzyfu/goInsight
数据库工单平台,支持MySQL和TiDB,提供工单、审批流、数据查询功能
GoInsight is a self-hosted database change management platform for MySQL and TiDB — think Bytebase or Archery but written in Go with a Vue3 frontend. It handles DDL/DML change tickets with multi-level approval workflows, an embedded SQL auditor, Online DDL via gh-ost, and a query console with table/schema-level access controls. The target audience is teams where DBAs need a gatekeeper between developers and production databases.
The SQL inspection engine is the strongest part — 68 audit rules with per-statement-type handlers (alter, create, dml, drop, rename, view) plus an explain-based analysis layer. That's serious coverage, not a toy linter. Rollback SQL generation for DML on MySQL is genuinely hard to implement correctly and it's here. gh-ost integration for Online DDL is the right call for large-table ALTERs; having it baked in rather than left to the operator is a meaningful time-saver. The approval workflow supports both countersign and or-sign modes with org-hierarchy routing, which covers most real enterprise approval chains without dragging in a full BPM engine.
Documentation and UI are almost entirely in Chinese — if you're outside a Chinese-speaking organization, you're going to be reading source to configure the admin side. Several `.bak` files are committed directly to the source tree (`rewrite.go.bak`, `rewirte_test.go.bak`, `dml_test.go.bak`, `extract_tables_test.go.bak`) — that's a sign of incomplete refactoring where dead code never got cleaned up. ClickHouse appears in the topics but the DAO is a thin wrapper with no mention of what's actually supported in the docs, so the scope there is unclear. No HA or clustering story is documented — for a system that's supposed to be the single gatekeeper for all schema changes, a single point of failure is a real deployment concern.