【问题标题】:flyway 3.3 migrations with postgresql and postgis extension带有 postgresql 和 postgis 扩展的 flyway 3.3 迁移
【发布时间】:2016-04-08 15:12:15
【问题描述】:

我已经束手无策了,我不知道还有什么可以尝试的。我正在尝试对我的本地数据库进行飞行清理。我有最新的 Postgres 9.4 和最新的 PostGIS 扩展。我正在使用公共架构来存储 10 个表和 7 个序列……它非常小。

现在我正在尝试用 maven 做一个简单的 FlywayDB 3.3 清洁指令。我在 Maven 配置文件中列出了用户名和密码以及公共架构。我不断收到错误提示 PostGIS 扩展程序使用了各种视图和表,因此它不会删除它们。

所以,在这里搜索,在互联网上一般建议我这样做: 用超级用户更改用户 myuser;这并没有解决我的问题。

在其他研究中,有人建议对数据使用另一种模式,而不是公共模式。因此,我为我的应用程序创建了一个新模式,并移动了我的序列和表,包括表 spatial_ref_sys。我更新了 maven 配置以仅清理这个新架构......但它说它不能删除“spatial_ref_sys”,因为它被 PostGIS 使用。

我的应用程序使用了 10 个表,其中包含 7 个序列……我只想让 Flyway 清理我的数据库,所以我可以尝试使用基线文件来重建它。我不是 PostGIS 方面的专家,所以我不知道我是否可以在不破坏我将来想要使用的任何空间功能的情况下删除该表。

感谢您的帮助,如果我可以提供任何其他数据,请告诉我。

【问题讨论】:

标签: postgresql postgis flyway


【解决方案1】:

这是一个已知问题,没有简单的解决方案,但有 2 个很好的解决方法:https://github.com/flyway/flyway/issues/100

【讨论】:

    【解决方案2】:

    如前所述,这是flyway 的一个已知问题。

    添加一个名为 beforeClean.sql 的文件,声明如下:

       DROP EXTENSION IF EXISTS PostGIS;
    

    解决问题

    【讨论】:

      猜你喜欢
      • 2015-01-15
      • 2022-01-10
      • 2014-05-08
      • 1970-01-01
      • 2019-04-22
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      相关资源
      最近更新 更多