sbt/flyway-sbt
56.3
Adequate · 20 September 2026
488
lines of production code
Scala
primary language
1
measurement over time
What this system is
This system is an sbt plugin that integrates the Flyway database migration tool into Scala build environments. It provides commands to manage database schema changes, including migrating, cleaning, and validating migration scripts. The plugin supports cross-building for Scala 2.12 and Scala 3, ensuring compatibility with various Flyway versions and allowing for custom callback handling and migration naming validation.
Features
Initial release of the sbt Flyway plugin
This change introduces the sbt plugin for Flyway, extracted from the main Flyway repository (starting from version 4.2.0). It provides the \FlywayPlugin\ to manage database migrations via \sbt flywayMigrate\ and \sbt flywayClean\. The entry includes the plugin's configuration file (\.scalafmt.conf\), dependency management setup (\.scala-steward.conf\), and documentation (\README.md\) detailing usage, including the requirement to explicitly enable the plugin in \build.sbt\ to avoid triggering unrelated compile tasks.
(repo-wide) · high confidence
Behavioural changes
Added Scala 3 compatibility layer for sbt plugin internals
Introduced new \PluginCompat\ implementations for Scala 3 (\src/main/scala-3/\) to support the sbt 2.x cross-build, defining type aliases for \HashedVirtualFileRef\ and \VirtualFile\ and adapting the \toNioPath\ conversion logic, while maintaining the existing Scala 2.12 (\src/main/scala-2.12/\) compatibility layer using \java.io.File\ and \Attributed\[File\]\.
src/main · high confidence
Migration to flywaysbt package and Flyway 12.0.0 upgrade
The plugin source has been moved from the root package to the flywaysbt package, and the underlying Flyway library has been upgraded to version 12.0.0. This update includes the addition of the flywayValidateMigrationNaming setting, which allows users to configure whether migration files with non-standard naming conventions should be ignored during validation.
repository · high confidence
Test coverage
Add test case for Flyway execution without compilation dependencies; Added Flyway SBT test fixtures with database migration scripts; Added Flyway callback test infrastructure; Added integration tests for Flyway SBT plugin commands; Added test case for Flyway callback functionality; Added test case for invalid migration naming validation; Added test for Flyway clean and migrate commands.
Dependencies
Upgrade to Flyway 13.6.0 and Scala 3.8.4
The sbt plugin dependency on Flyway has been updated to version 13.6.0, and the supported Scala versions are now 2.12.21 and 3.8.4. This update ensures compatibility with the latest Flyway features and fixes, while also aligning the build environment with current Scala releases. The plugin continues to support cross-building for both Scala 2.12 and Scala 3.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 56.
Lenses
- Code Health 100
- Architecture 100
- Maturity 47
- Readiness 46
- Security 70
Changes since last survey
- 300 commits — 298 feature/other, 2 fixes
By area
- (root) — 116 commits
- (repo) — 111 commits
- project/build.properties — 29 commits
- .github/workflows — 13 commits
- project/plugins.sbt — 12 commits
- project/plugin.sbt — 7 commits
- src/main — 6 commits
- src/sbt-test — 6 commits
Notable commits
- fix: Fix warnings
- fix: Merge pull request #176 from john-joe-givery/log-fix
- change: Add 'Reformat with scalafmt 3.9.7' to .git-blame-ignore-revs
- change: Add missing override keyword
- change: Avoid deprecated scala.App
- change: Create .scala-steward.conf
- change: Enable syntax highlight in README code block
- change: Merge branch 'main' into update/sbt-github-actions-0.26.0
- change: Merge pull request #131 from scala-steward/update/flyway-core-11.3.3
- change: Merge pull request #132 from scala-steward/update/scalafmt-core-3.9.1
- change: Merge pull request #134 from scala-steward/update/scalafmt-core-3.9.2
- change: Merge pull request #135 from scala-steward/update/sbt-1.10.9
- change: Merge pull request #136 from scala-steward/update/sbt-1.10.10
- change: Merge pull request #137 from scala-steward/update/sbt-github-actions-0.25.0
- change: Merge pull request #138 from scala-steward/update/scalafmt-core-3.9.3
- change: Merge pull request #141 from scala-steward/update/sbt-ci-release-1.9.3
- change: Merge pull request #142 from scala-steward/update/flyway-core-11.4.0
- change: Merge pull request #143 from scala-steward/update/scalafmt-core-3.9.4
- change: Merge pull request #144 from scala-steward/update/sbt-1.10.11
- change: Merge pull request #145 from scala-steward/update/flyway-core-11.4.1
- …and 280 more
Architecture
- 0 containers · 1 bounded contexts · 0 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
sbt/flyway-sbt was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a2810766be8dcbb7c7a0dde6e4dcc1ada8aa3449 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.