【问题标题】:Liquibase maven - SQL Server out put to console during executionLiquibase maven - SQL Server 在执行期间输出到控制台
【发布时间】:2018-02-27 06:51:02
【问题描述】:

我的 maven 项目使用 liquibase 插件生成包含所有 DDL 和 DML 的文本文件。它正在对 SQL Server 执行这些数据库查询和脚本。

mvn run 在控制台上只显示 liquibase 输出(如下所示),而不是 SQL 语句的输出。我可以在 Maven 目标中使用 sqlcmd -e 命令在日志文件中捕获 SQL 语句的输出。如何在 maven 执行期间在控制台上获得相同的输出?

INFO  3:50 PM: liquibase: Successfully acquired change log lock
DEBUG  3:50 PM: LiquibaseSchemaResolver: Found namespace details class liquibase.parser.core.xml.StandardNamespaceDetails for http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd
DEBUG  3:50 PM: LiquibaseSchemaResolver: Local path for http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd is liquibase/parser/core/xml/dbchangelog-3.5.xsd
DEBUG 3:50 PM: LiquibaseSchemaResolver: Successfully loaded XSD from liquibase/parser/core/xml/dbchangelog-3.5.xsd
INFO 3:50 PM: liquibase: Reading from [dbo].[DATABASECHANGELOG]
INFO  3:50 PM: liquibase: Successfully released change log lock
INFO  3:50 PM: liquibase: Successfully acquired change log lock
DEBUG 3:50 PM: LiquibaseSchemaResolver: Found namespace details class liquibase.parser.core.xml.StandardNamespaceDetails for http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd
DEBUG  3:50 PM: LiquibaseSchemaResolver: Local path for http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd is liquibase/parser/core/xml/dbchangelog-3.5.xsd
DEBUG  3:50 PM: LiquibaseSchemaResolver: Successfully loaded XSD from liquibase/parser/core/xml/dbchangelog-3.5.xsd
INFO  3:50 PM: liquibase: Reading from [dbo].[DATABASECHANGELOG]
INFO  3:50 PM: liquibase: Successfully released change log lock

【问题讨论】:

  • 你是如何从 mvn 调用 liquibase 的?请提供此 mvn 设置。
  • mvn clean resources:resources liquibase:updateSQL process-classes -q -Psqlcmd。进程类阶段和 sqlcmd 配置文件具有获取 sql 文件的功能,其中包含要对数据库执行或执行的所有 sql 语句

标签: sql-server liquibase


【解决方案1】:

像这样在 MVN 中指定配置文件(注意“配置”部分):

  <project>
    <build>
      <plugins>
        <plugin>
          <groupId>org.liquibase</groupId>
          <artifactId>liquibase-maven-plugin</artifactId>
          <version>x.x.x.x</version>
          <configuration>
            <propertyFileWillOverride>true</propertyFileWillOverride>
            <propertyFile>target/classes/liquibase.properties</propertyFile>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </project>

在配置文件中指定

verbose: true

来源:http://www.liquibase.org/documentation/maven/

【讨论】:

  • 我在 mvn 执行-Dliquibase.verbose=true 时传递该属性@
  • 我没有那样使用它——但按照文档liquibase.org/documentation/maven/maven_update.html 应该可以使用。也许 -Dliquibase.verbose=true 不在正确的位置 - 我只是在猜测 + 我没有包含此标志的完整 mvn 命令。
【解决方案2】:

我的错。我在相当模式下执行它。在没有-q 的情况下运行相同的程序会产生完整的输出。谢谢

【讨论】:

    猜你喜欢
    • 2020-02-21
    • 2015-05-09
    • 2020-05-16
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多