explaingit

cookiey/yearning

8,943GoAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TLDR

A web-based SQL review and audit platform for MySQL teams that adds an approval workflow so database changes are checked and signed off before they run in production.

Mindmap

mindmap
  root((yearning))
    What it does
      SQL review workflow
      Rule-based checks
      Rollback generation
    Features
      Role permissions
      LDAP login
      DingTalk alerts
    Database support
      MySQL
    Audience
      Database teams
      DevOps engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a review workflow so developers submit SQL queries for approval before they run against a production MySQL database.

USE CASE 2

Automatically check submitted SQL against configurable rules and generate rollback statements for approved changes.

USE CASE 3

Assign role-based permissions so developers can query specific databases without being able to submit structural changes.

USE CASE 4

Send review notifications and approvals through email or DingTalk webhooks and schedule recurring SQL jobs.

Tech stack

GoMySQL

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a running MySQL database and Go backend deployment, LDAP and DingTalk integrations need additional configuration.

AGPL v3, free to use and modify, but if you deploy a modified version you must release its source code under the same license.

In plain English

Yearning is a web-based SQL audit and review platform designed for teams that use MySQL databases. SQL is the language used to read from and write to databases, and on teams where multiple people can submit database changes, having a review process helps catch mistakes before they reach production. Yearning adds that review layer through a workflow system where SQL statements are submitted, checked, and approved before being run. The platform includes a built-in SQL editor with autocomplete and syntax highlighting. When a developer submits a query or a change, the system checks it against a set of configurable rules and flags anything that violates those rules, such as missing index conditions or statements that could affect too many rows. It can also automatically generate rollback statements for certain changes, so that if something goes wrong after approval, there is a prepared way to undo it. Access is managed through roles and fine-grained permissions, so different users can be granted rights to query specific databases without being able to submit structural changes. The platform supports LDAP login for organizations that use a central directory for authentication. Notifications for pending reviews and completed approvals can be sent by email or through DingTalk webhooks. There is also an automated task runner for scheduled SQL jobs. The README is written primarily in Chinese. An English-language guide is linked separately. The project is built with Go on the backend and is licensed under AGPL v3, which requires that any modified versions you deploy also be released as open source.

Copy-paste prompts

Prompt 1
I want to set up Yearning so my team's MySQL schema changes require a manager's approval before running. Walk me through the initial deployment.
Prompt 2
How do I configure Yearning's SQL audit rules to block queries that don't use an index or that would affect more than 10,000 rows?
Prompt 3
I need to connect Yearning to our company's LDAP directory so employees log in with their existing credentials. What settings do I configure?
Prompt 4
A SQL change was approved in Yearning but caused an issue. How do I use the auto-generated rollback statement to undo it?
Open on GitHub → Explain another repo

← cookiey on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.