【问题标题】:Generate SQL migrations from exposed orm table从暴露的 orm 表生成 SQL 迁移
【发布时间】:2026-01-14 08:45:01
【问题描述】:

我想知道如何从使用 Exposed ORM 创建的表中生成 SQL 脚本迁移。这对我很有帮助,因为我可以在以后使用 Flyway 应用迁移。

我正在使用带有 Kotlin 的 JDK 16。

所以这里的主要问题是:是否有任何工具可以帮助我创建这些迁移脚本?

【问题讨论】:

    标签: kotlin flyway kotlin-exposed


    【解决方案1】:

    您可以使用SchemaUtils.createStatements() 从您的表定义中生成 DDL。

    println(SchemaUtils.createStatements(Cities, Users).joinToString("\n\n") { "$it;" }
    

    SchemaUtils.kt https://github.com/JetBrains/Exposed/blob/621dc5b939b03c0f2396073c17f7ab5a7022816c/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/SchemaUtils.kt#L93

    很遗憾,我找不到任何文档。但是SchemaUtils.create() 在内部使用它。所以它应该可以工作。

    公开版本:0.36.2

    【讨论】: