// the find
hhyo/Archery
SQL 审核查询平台
Archery is a Django-based SQL operations platform for teams that need DBA-style workflow gates around database changes — audit, approval, execution, and rollback. It's aimed squarely at Chinese enterprise teams managing MySQL-heavy stacks, with progressively thinner support for everything else. If your org has DBAs reviewing SQL before it hits prod, this is the kind of tool they'd actually use.
MySQL support is genuinely deep: goInception handles audit and generates rollback SQL automatically, gh-ost integration means large table DDL doesn't lock prod, and binlog parsing via python-mysql-replication lets you actually undo mistakes. The approval workflow is the real product — SQL goes through a review queue with notifications, not just a query box. Data masking is built in and tied to column-level rules, which matters if you're handling PII in query results. LDAP, DingTalk, Feishu, and WeCom auth are all supported out of the box, which saves real integration work for teams already in those ecosystems.
The non-MySQL databases are second-class citizens — PostgreSQL gets query and execute but no audit, backup, slow log, or session management. The dependency chain is brutal to stand up: goInception, SQLAdvisor, SOAR, my2sql, gh-ost, and pt-query-digest all need to be installed and wired up separately before the headline features work. The frontend is Bootstrap 3 + jQuery + Django templates — it works but making any UI change means navigating a pile of vendored minified JS. Django-Q is the async task runner and it's effectively unmaintained upstream, which is a quiet liability for anything in the execution queue.