Diff не обнаруживает, что индекс существует - PullRequest
0 голосов
/ 08 января 2020

Когда я генерирую первый diff. Файл diff выглядит правильно. У него есть таблицы, которые нам нужно создать. Я запускаю приложение, оно создает таблицы (Oracle), все хорошо. В целях проверки я снова запускаю команду diff, ожидая, что она вернется без изменений. К сожалению, он возвращается с изменениями в столбце первичного ключа. Если я запускаю новый набор изменений и делаю еще одну разность. Он все еще возвращается с теми же журналами изменений. Это будет делать это бесконечно.

Я думаю, что могу использовать неправильные зависимости, но я очень потерян.

POM

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.2.1.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
   </dependency>
   <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
   </dependency>
   <dependency>
      <groupId>com.oracle.database</groupId>
      <artifactId>ojdbc7</artifactId>
      <version>12.1.0.1</version>
   </dependency>
   <dependency>
      <groupId>org.liquibase</groupId>
      <artifactId>liquibase-core</artifactId>
   </dependency>
</dependencies>
...
<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <propertyFile>/src/main/resources/liquibase.properties</propertyFile>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.liquibase.ext</groupId>
            <artifactId>liquibase-hibernate5</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
    </dependencies>
</plugin>

Набор изменений для создания таблицы

databaseChangeLog:
- changeSet:
    id: 1576786181941-1
    author: Stackoverflow (generated)
    changes:
    - createTable:
        columns:
        - column:
            constraints:
              primaryKey: true
              primaryKeyName: usernamePK
            name: username
            type: VARCHAR2(32 CHAR)
        - column:
            constraints:
              nullable: false
            name: description
            type: VARCHAR2(1000 CHAR)
        - column:
            constraints:
              nullable: false
            name: status
            type: VARCHAR2(200 CHAR)
        tableName: users

Разница, которая всегда создается

databaseChangeLog:
- changeSet:
    id: 1578435590163-1
    author: Stackoverflow (generated)
    changes:
    - dropPrimaryKey:
        tableName: users
- changeSet:
    id: 1578435590163-2
    author: Stackoverflow (generated)
    changes:
    - createIndex:
        columns:
        - column:
            name: username
        indexName: IX_usersPK
        tableName: users
        unique: true
- changeSet:
    id: 1578435590163-3
    author: Stackoverflow (generated)
    changes:
    - addPrimaryKey:
        columnNames: username
        constraintName: usersPK
        forIndexName: IX_usersPK
        tableName: users

свойства жидкостей

referenceUrl=hibernate:spring:com.example?dialect=org.hibernate.dialect.Oracle12cDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

...