migrate-to-1.0

Migrates Kotlin projects from Exposed 0.61.0 to Exposed 1.0 with automated import rewrites.

9.3k|796|Updated Jul 30, 2013
One-click install
npx skills add https://github.com/JetBrains/Exposed --skill migrate-to-1-0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-to-1.0
Source: https://github.com/JetBrains/Exposed/tree/main/.claude/skills/migrate-to-1.0
Command: npx skills add https://github.com/JetBrains/Exposed --skill migrate-to-1-0

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Upgrading a Kotlin project from Exposed 0.61.0 to Exposed 1.0 requires dozens of package renames, JDBC module moves, SqlExpressionBuilder import rewrites, and build-file dependency changes. Doing this by hand across a large codebase is error-prone and tedious, and some API changes cannot be automated safely at all.

Core Features & Use Cases

  • Automated package renames: Rewrites old org.jetbrains.exposed.sql.* and org.jetbrains.exposed.dao.* imports to the new org.jetbrains.exposed.v1.* namespace, including JDBC-conditional moves and SqlExpressionBuilder lambda imports.
  • Build-file updates: Bumps Exposed coordinates to 1.0.0 in Gradle Kotlin/Groovy DSL, version catalogs, and Maven pom.xml, splits exposed-migration, and adds exposed-jdbc when needed.
  • Manual-review reporting: Detects 18 categories of changes that require human judgment (custom Transaction extensions, transaction() signature changes, removed APIs) and produces a structured summary with file:line references and migration-guide links.
  • Use Case: You have a Spring Boot service on Exposed 0.61.0 with 200 Kotlin files. Run this Skill to apply all mechanical renames, update build.gradle.kts, and receive a checklist of the 12 items that need manual fixes.

Quick Start

Migrate my project from Exposed 0.61.0 to Exposed 1.0 and show me what needs manual review.

Frequently Asked Questions about migrate-to-1.0

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a Kotlin project from Exposed 0.61.0 to 1.0?

Run this Skill against your project root. It scans Kotlin sources and build files, applies the mechanical package renames and dependency bumps from the official migration guide, then prints a summary of items needing manual review.

What changed in Exposed 1.0 package structure?

Core classes moved from org.jetbrains.exposed.sql to org.jetbrains.exposed.v1.core, DAO classes to org.jetbrains.exposed.v1.dao, and JDBC-specific APIs like Database and transaction() to org.jetbrains.exposed.v1.jdbc. SqlExpressionBuilder methods became top-level functions.

Can I migrate from Exposed 0.41 or 0.55 directly to 1.0?

The Skill targets the 0.61.0 to 1.0.0 jump specifically. For older 0.x versions it warns and asks for confirmation, since APIs renamed before 0.61.0 are not covered; upgrading to 0.61.0 first is recommended.

Does the Exposed 1.0 migration handle R2DBC projects?

Yes. The Skill detects whether a project uses JDBC, R2DBC, or both, and skips JDBC-conditional import moves in files that use R2DBC. Build-file edits also select exposed-migration-r2dbc when appropriate.

What Exposed 1.0 changes cannot be automated?

Changes requiring judgment are reported, not edited: custom Transaction extensions, transaction() signature changes, custom Statement or dialect subclasses, removed APIs like BaseBatchInsertStatement, and the jodatime DateColumnType split.

Does the migration run Gradle builds or make commits?

No. The Skill only edits source and build files in the working tree. It never runs ./gradlew, never creates branches or commits, and suggests verification steps (compile, test, commit) in its final summary.