跳到正文
cccskills
免费在 GitHub 公开

db-migration

Writes a Flyway database migration for this project following the team's rules for naming, editing and renaming, so migrations from different developers don't collide and deployed databases stay valid. Use whenever a change needs a new table, column, index or data fix, or the user mentions a schema change or migration.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace星标 80(GitHub 80 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md1.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Write a database migration

Migrations live in src/main/resources/db/migration.

  1. Follow the naming the folder already uses. In a folder with no migrations yet, use V<yyyyMMddHHmm>__<what_it_does>.sql in UTC: unlike V7, V8, timestamps don't collide when two developers add a migration on different branches. With numbered names, take the next number after the highest one on the main branch, and renumber yours if someone merges first.
  2. Never edit a migration that is on the main branch. It may already have run on a shared database, and Flyway fails validation when the checksum changes. Write a new migration instead.
  3. Make destructive changes in two releases. To rename or drop a column, first add the new column and write to both, and drop the old one in a later migration once no running version reads it.
  4. Keep each migration to one purpose. Put data fixes in their own file, and make them safe to run on a database where the fix is already done.
  5. Don't let Hibernate create the schema: spring.jpa.hibernate.ddl-auto stays validate or none.
  6. Run ./mvnw verify. If the project has Testcontainers integration tests, they apply every migration to a real database; if it has none, say that the migration is untested.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Adds a new application module to this Spring Modulith project with the package layout the ModuleBoundariesTests gate expects, and a module-scoped integration test. Use when the user asks for a new module, bounded context, or feature area that doesn't belong in an existing module.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

Use when asked to review, check or diagnose Spring Boot code: a pull request, diff, module or file before it merges; a slow endpoint or query (N+1, unbounded reads, JPA and Hibernate performance); security, JSpecify null-safety, architecture boundaries or Boot 4 migration risks in existing code; or whether the tests would catch real bugs, proving each finding by running it. Not for Kotlin-only code, non-Spring frameworks, or generic review advice without code context.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

Use when starting a new Spring Boot project or service: scaffolding or bootstrapping a backend, REST API, microservice or modular monolith; choosing how to structure it (layered, package-by-module, modular monolith, tomato, DDD-hexagonal); selecting Spring Boot 4 features; generating the base project with progen or Spring Initializr; or applying the bundled templates and references in this skill. Not for migrating existing projects or for isolated JPA/repository work without broader project-creation context.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

Use when a team wants every developer's coding agent (Claude Code or Codex) to follow the same rules on a Maven Spring Boot 4 repository: setting up AGENTS.md, guardrails, shared agent settings, or build and CI checks that agents must pass before code merges. It adds ./mvnw verify gates that fail on null-safety bugs (NullAway with JSpecify), module-boundary breaches (Spring Modulith), unknown or deprecated Boot property keys, Spring mistakes that compile (ArchUnit) and unformatted code, Claude Code hooks that run those gates before a turn ends, and a CI workflow.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

Use when upgrading an existing Spring Boot application, for example from Boot 3.x to Boot 4 or to the latest Spring Boot and Java: dependency transitions and starter renames, test annotations such as @MockBean to @MockitoBean, Jackson 3 issues, Spring Modulith 2 or Testcontainers 2 upgrades, code that stops compiling after a version bump, or planning a phased migration. Not for greenfield project creation or isolated repository design.

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

Use when writing or adding tests for Spring Boot code at a service's edges: HTTP clients that call other services (WireMock: 4xx and 5xx responses, timeouts, retries), Kafka or RabbitMQ listeners (redelivery, poison messages, dead-letter topics), events published to other services, or full-API tests against real databases with Testcontainers; also when a Boot 4 test needs the right imports, slices or container wiring. Supplies verified Boot 4.1 templates and the framework traps that make such tests pass without proving anything. Not for reviewing existing tests (see code-reviewer) or Boot 3 to 4 test migration (see springboot-migration).

中文简介正在准备中。当前显示原文说明。

a-pavithraa/springboot-skills-marketplace802026年10月27日 更新

查看 a-pavithraa 的全部技能

报告此技能的问题