Tag: liquibase

如何使用Liquibase创建数据库

我正在尝试使用Liquibase来创建不存在的数据库。 我已经下载了MySQL而没有对其进行任何更改 我的maven插件代码看起来像 org.liquibase liquibase-maven-plugin 3.1.1 src/main/resources/changelog.xml com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/myApp?createDatabaseIfNotExist=true process-resources update 当我运行mvn clean install ,我看到错误为 Failed to execute goal org.liquibase:liquibase-maven-plugin:3.1.1:update (default) on project database_seed: Error setting up or running Liquibase: liquibase.exception.DatabaseException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ”@’localhost’ to database ‘myApp’ -> [Help 1] 我如何解决它?

liquibase 3.5.X找不到包含相对路径的includeAll的任何文件

我们正在使用liquibase 3.4.2并希望更新到3.5.3,但我的所有尝试都失败了,因为liquibase找不到usind includeAll包含的任何文件。 我有测试liquibase 3.5.0,3.5.1和3.5.3(由于这篇博文,我跳过了3.5.2)。 我的ChangeSet看起来像这样: 我的目录结构(在战争中包含的jar内)如下所示: /some/dir/changeset.xml (上面的代码) /some/dir/relative/dir1/another-changeset.xml /some/dir/relative/dir2/another-changeset-1.xml /some/dir/relative/dir2/another-changeset-2.xml 我已经通过liquibase进行了调试并且陷入了ClassLoaderResourceAccessor.java:108 : if (entry.getName().startsWith(path)) { 在我的情况下, entry.getName()在第一个循环中返回some ,然后返回some some/dir ,依此类推,直到some/dir/relative/dir1/another-changeset-1.xml , some/dir/relative/dir2/another-changeset-1.xml和some/dir/relative/dir2/another-changeset-2.xml 。 但条件总是假的,因为path包含类似jar:file:/C:/path/to/maven/project/war/target/example.war-1.0-SNAPSHOT/WEB-INF/lib/changesets-1.0-SNAPSHOT.jar!/relative/dir1/或jar:file:/C:/path/to/maven/project/war/target/example.war-1.0-SNAPSHOT/WEB-INF/lib/changesets-1.0-SNAPSHOT.jar!/relative/dir2/ 这真的是liquibase自3.5.0以来的一个错误吗? 如果我降级到liquibase 3.4.2,它的效果非常好。 它也适用于我使用include而不是includeAll但在我的实际应用程序中我有更多的更改集,我不想手动列出它们。 我已经找到了一些相关的信息,但它们都没有帮助我。 为了完整起见: Liquibase-JIRA: https ://liquibase.jira.com/browse/CORE-2851,https://liquibase.jira.com/browse/CORE-2863,https://liquibase.jira.com/browse/CORE- 2898 , https: //liquibase.jira.com/browse/CORE-2974 SO: Liquibase includeAll标记被忽略 , includeAll path =“”在3.5.3中不起作用,使用java -jar方法

为多个模式中的实体生成Liquibase-hibernate changelog

我试图使用liquibase-hibernate5(Spring-5.0.4.RELEASE,Hibernate-5.2.15)通过liquibase-maven-plugin在Hibernate实体(来自单个基本包)和干净数据库(Oracle 11gR2 XE)之间生成差异。最后,JPA-2.1.1应用程序通过servlet 3.1与所有(完整)程序配置)。 我使用JSON作为更改日志格式,liquibase-hibernate5(v3.6)使用liquibase-maven-plugin(v3.5.5)。 配置中使用的JPA规范版本是2.1.1。 来自POM的片段: org.liquibase liquibase-maven-plugin ${liquibase.mvn.plugin.version} org.liquibase liquibase-core ${liquibase.version} org.liquibase.ext liquibase-hibernate5 ${liquibase.hibernate.version} org.springframework spring-beans ${spring.version} org.springframework spring-orm ${spring.version} org.springframework spring-context-support ${spring.version} org.eclipse.persistence javax.persistence ${jpa.version} javax.validation validation-api ${validation.api.version} com.oracle.jdbc ojdbc8 ${jdbc.driver.version} org.yaml snakeyaml ${snakeyaml.version} src/main/resources/jdbc/schema/liquibase.properties true false diff update 这是我目前的liquibase.properties: url: jdbc:oracle:thin:@localhost:1521/xe username: db_user password: password driver: oracle.jdbc.OracleDriver referenceUrl: hibernate:spring:org.example.something.entities?dialect=org.hibernate.dialect.Oracle10gDialect changeLogFile: src/main/resources/jdbc/schema/db-changelog.json […]