我想在Kotlin中使用flywaydb,但我在使用中有错误 我的数据库是PostgreSQL,我的ORM是Kotlin Exposed
代码:
val url = "jdbc:postgresql://127.0.0.1/test1"
Database.connect(url, driver = "org.postgresql.Driver", user = "postgres", password = "123")
var flyway = Flyway()
flyway.setDataSource(url, "postgres", "123")
flyway.migrate()
错误:
线程“main”中的异常org.flywaydb.core.api.FlywayException: 找到没有架构历史表的非空架构“public”!使用 baseline()或将baselineOnMigrate设置为true以初始化架构 历史表。在 org.flywaydb.core.Flyway $ 1.execute(Flyway.java:1197)at org.flywaydb.core.Flyway $ 1.execute(Flyway.java:1168)at org.flywaydb.core.Flyway.execute(Flyway.java:1655)at org.flywaydb.core.Flyway.migrate(Flyway.java:1168)
我该如何解决?我的代码在哪里错了?
答案 0 :(得分:3)
找到非空架构" public"没有架构历史表!使用
baseline()
或将baselineOnMigrate
设置为true以初始化架构历史记录表。
该错误消息几乎说明了一切。您似乎在已填充表格的数据库上运行Flyway。
默认情况下,Flyway希望在greenfield project的全新数据库上运行。 Flyway首先安装自己的桌子,用于内部跟踪。这是您的错误消息中提到的“架构历史记录表”。安装自己的表后,Flyway会运行SQL脚本来创建更多表。
如果将Flyway添加到现有数据库,请选择以下任一解决方案: