Found non-empty schema "public" without metadata table! Use init() or set initOnMigrate to true to initialize the metadata table.
public名为schema的模式中创建一个表spatial_ref_sys.当我flyway migrate在这个数据库上运行时,我得到了上述错误.运行init似乎创建public.schema_version表并将版本1标记为SUCCEDED而不实际运行迁移文件.我也尝试过initOnMigrate没有成功的组合.Flyway未配置为管理任何架构.
关于如何在这种情况下运行迁移的任何想法?
Axe*_*ine 26
标题有点矛盾,因为数据库确实不是处女,因为您通过PostGIS扩展安装了公共模式中的许多对象.
你也可以
flyway.schemas为新架构,比如my_app,然后由Flyway自动创建.您的应用程序应该使用这个而不是公共(推荐)flyway.baselineOnMigrate为true或调用flyway.baseline()公共模式.这将起作用,但public将包含应用程序对象和PostGIS对象的混合如果您使用的是 Gradle,则可以运行
./gradlew -Dflyway.schemas=public flywayClean flywayMigrate
Run Code Online (Sandbox Code Playgroud)
其中 public 是包含 schema_versions 表的数据库的名称。这应该删除表和元数据以及运行迁移以使其恢复最新状态。
这将删除public架构中的所有数据
| 归档时间: |
|
| 查看次数: |
34676 次 |
| 最近记录: |