gpt4 book ai didi

postgresql - Liquibase:dropAll 没有删除架构

转载 作者:行者123 更新时间:2023-11-29 14:05:09 24 4
gpt4 key购买 nike

我的软件:
maven 3.0.4
Liquibase:3.0.2
PostgreSQL: 9.1.9
JavaSE:1.7.0_25

我的问题:
我用 liquibase 创建了一些模式

<changeSet id="create-customermgmt-schema" author="nl">  
<sql>CREATE SCHEMA "customermgmt";</sql>
</changeSet>

如果我尝试执行 liquibase:dropAll 我会得到这个:

[INFO] Scanning for projects...  
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building akufit.server 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- liquibase-maven-plugin:3.0.2:dropAll (default-cli) @ akufit.server ---
[INFO] ------------------------------------------------------------------------
[INFO] Executing on Database: jdbc:postgresql://localhost:5432/akufit
INFO 8/18/13 5:45 PM:liquibase: Successfully acquired change log lock
INFO 8/18/13 5:45 PM:liquibase: Dropping Database Objects in schema: akufit.public
INFO 8/18/13 5:45 PM:liquibase: Creating database history table with name: public.databasechangelog
INFO 8/18/13 5:45 PM:liquibase: Successfully released change log lock
INFO 8/18/13 5:45 PM:liquibase: Successfully released change log lock
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.978s
[INFO] Finished at: Sun Aug 18 17:45:54 CEST 2013
[INFO] Final Memory: 8M/85M
[INFO] ------------------------------------------------------------------------`

但我的模式仍然存在,没有任何东西被丢弃。

我已验证,所有表和模式都属于 liquibase 设置中的用户。如果您需要更多信息,请写信。

也许你能帮帮我。谢谢。

pom.xml:

<plugin>   
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<changeLogFile>src/main/resources/db-changelog.xml</changeLogFile>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://localhost:5432/akufit</url>
<username>***</username>
<password>***</password>
</configuration>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
</dependency>
</dependencies>
</plugin>

最佳答案

Liquibase 旨在管理应用程序架构中的对象。这解释了为什么不支持“创建模式”数据库操作。

这不会阻止有人编写创建/删除模式的自定义 SQL 操作,但这会导致一些问题,例如 liquibase 在模式中创建两个额外的簿记表,这些表也将被清除....

为什么不能在 liquibase 之外创建模式有充分的理由吗?我通常为每个应用程序实例创建一个新模式和关联的用户。这样我就不必使用我的数据库的管理员帐户配置 liquibase。

关于postgresql - Liquibase:dropAll 没有删除架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com