Когда я генерирую первый 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