Exposed icon indicating copy to clipboard operation
Exposed copied to clipboard

feat: EXPOSED-755 Introduce Exposed Migration Gradle Plugin

Open nomisRev opened this issue 9 months ago • 0 comments

Introduces the Exposed Migration Gradle Plugin to simplify SQL migration generation using Exposed table definitions. The plugin supports TestContainers for database testing, Flyway for integration, and a highly configurable extension. Includes unit tests for plugin functionality and task behavior.

Description

Summary of the change: Introduces the Exposed Migration Gradle Plugin to simplify SQL migration generation using Exposed table definitions. The plugin supports TestContainers for database testing, Flyway for integration, and a highly configurable extension. Includes unit tests for plugin functionality and task behavior.

Detailed description:

  • What: This PR introduces a new module with a Gradle plugin that wraps the migration module.
  • Why: Automatic migration script generation through Gradle with 0 boilerplate.
  • How: New functionality, no impact on the existing codebase or features.

Type of Change

Please mark the relevant options with an "X":

  • [X] New feature

Affected databases:

  • [X] MariaDB
  • [X] Mysql5
  • [X] Mysql8
  • [X] Oracle
  • [X] Postgres
  • [X] SqlServer
  • [X] H2
  • [ ] SQLite

Checklist

  • [X] Unit tests are in place
  • [X] The build is green (including the Detekt check)
  • [X] All public methods affected by my PR has up to date API docs
  • [ ] Documentation for my change is up to date

Related Issues

EXPOSED-755

nomisRev avatar Mar 25 '25 19:03 nomisRev