Skip to content
cccskills
FreePublished on GitHub

database-erd

Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50 stars(GitHub 50 + cccskills 0)
Works withMySQL

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

<objective> Regenerate `docs/database-erd.md` from the live MySQL catalog so the Mermaid ERD matches the current migrated schema.

Purpose: Keep the schema diagram accurate after Flyway migrations — never hand-edit the Mermaid block.

Output: Updated docs/database-erd.md + summary ending with ## ERD EXPORTED. </objective>

<context> `docs/database-erd.md` is generated from MySQL `information_schema` (foreign keys and PK/UK/FK columns). **Do not hand-edit the Mermaid block**; re-run the exporter after schema changes.

Run when:

  • A new or changed Flyway migration alters tables, columns, or constraints
  • The ERD needs to match the current migrated schema

Git does not use the Nix prefix. All other repo tooling does: CURSOR_DEV=true nix develop -c …

Implementation:

  • Script: scripts/export_database_erd.py
  • Output: docs/database-erd.md
  • Omits flyway_schema_history from the diagram

Overrides (optional):

VariableDefault
DONUT_ERD_SCHEMA(auto: development → test → e2e)
DONUT_ERD_MYSQL_HOST127.0.0.1
DONUT_ERD_MYSQL_PORT3309
DONUT_ERD_MYSQL_USERdoughnut
DONUT_ERD_MYSQL_PASSWORDdoughnut
</context> <process> <step name="ensure_mysql"> Ensure MySQL is reachable on **127.0.0.1:3309** with user **`doughnut`** (local dev defaults from `scripts/shell_setup.sh` / `process-compose`). </step> <step name="ensure_migrated_schema"> Ensure at least one migrated schema exists (Flyway has run). The script picks, in order: **`doughnut_development`**, then **`doughnut_test`**, then **`doughnut_e2e_test`**, unless **`DONUT_ERD_SCHEMA`** is set to a specific catalog. </step> <step name="export"> From the repo root:
CURSOR_DEV=true nix develop -c python3 scripts/export_database_erd.py

Or:

CURSOR_DEV=true nix develop -c pnpm export:database-erd
</step> <step name="commit_with_migration"> Commit the updated `docs/database-erd.md` with the migration (or immediately after). </step> </process>

<success_criteria>

  • MySQL reachable on 127.0.0.1:3309 with user doughnut
  • At least one migrated schema available (or DONUT_ERD_SCHEMA set)
  • Exporter run with Nix prefix
  • docs/database-erd.md updated and ready to commit
  • Final output includes ## ERD EXPORTED </success_criteria>
<output> Report a short summary to the caller, then the completion marker:
  1. Schema catalog used (auto-selected or DONUT_ERD_SCHEMA override).
  2. Whether docs/database-erd.md changed.
## ERD EXPORTED
</output>

<out_of_scope>

  • Do not hand-edit the Mermaid block in docs/database-erd.md. </out_of_scope>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

cli

Free

related to donut CLI. Use when working on donut-cli.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

Database migration, Flyway, SQL migrations, schema changes, database versioning, migration files, squashing historical migrations. Use when adding or changing Flyway migrations or schema.

The English summary is being prepared. Showing the original description.

nerds-odd-e/doughnut50Updated Oct 26, 2026

See all skills by nerds-odd-e

Report a problem with this skill