春天 –Liquibase dropFirst with postgis

春天 –Liquibase dropFirst with postgis,第1张

概述我正在尝试通过Liquibase将postgis扩展添加到我的postgressql数据库,这是我如何做到的:<sql>CREATE EXTENSION IF NOT EXISTS postgis;</sql> 它运行正常,问题是当我正在开发时我希望每次重新启动我的Web服务器时都重置我的数据库,所以我在春天设置liquibase就像

我正在尝试通过liquibase将postgis扩展添加到我的postgressql数据库,这是我如何做到的:

它运行正常,问题是当我正在开发时我希望每次重新启动我的Web服务器时都重置我的数据库,所以我在春天设置liquibase就像这样

@Bean(name = "liquibase")@DependsOn("dataSource")@Profile("dev")public Springliquibase liquibaseDev() {    Springliquibase springliquibase = new Springliquibase();    springliquibase.setDataSource(this.dataSource());    springliquibase.setChangeLog("classpath:liquibase.xml");    springliquibase.setDefaultSchema(this.environment.getProperty("jdbc.defaultSchema"));    springliquibase.setDropFirst(true);    return springliquibase;}

所以liquibase试图在启动时删除所有内容,包括postgis视图.这导致了这个错误

org.postgresql.util.PsqlException: ERROR: cannot drop vIEw geography_columns because extension postgis requires it
Indice : You can drop extension postgis instead.

但是我应该如何告诉liquibase在放弃其他所有内容之前删除扩展?有没有办法告诉liquibase如何删除数据库?

我正在使用的版本:

> Spring IO 2.0.7
> liquibase 3.4.2(Spring IO设置的版本)
> Postgres 9.5最佳答案解决了这个问题,添加了一些在liquibase启动之前执行的sql:

@Bean(name = "liquibase")@DependsOn("dataSource")@Profile("dev")public Springliquibase liquibaseDev() {    ScriptUtils.executesqlScript(this.dataSource().getConnection(),new ClassPathResource("delete-postgis.sql"));    Springliquibase springliquibase = new Springliquibase();    springliquibase.setDataSource(this.dataSource());    springliquibase.setChangeLog("classpath:liquibase.xml");    springliquibase.setDefaultSchema(this.environment.getProperty("jdbc.defaultSchema"));    springliquibase.setDropFirst(true);    return springliquibase;}

文件src / main / resources / delete-postgis.sql正在

DROP EXTENSION IF EXISTS postgis;

这不是花哨的,但它确实有效. 总结

以上是内存溢出为你收集整理的春天 – Liquibase dropFirst with postgis全部内容,希望文章能够帮你解决春天 – Liquibase dropFirst with postgis所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1258319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)