Hi all,
I am getting this error let me help anyone to get rid of this error → More than one CommandStep provides class liquibase.lockservice.LockService. Steps: liquibase.command.core.helpers.LockServiceCommandStep, liquibase.command.core.LockServiceCommandStep.
<changeSet author="Rashmi" id="rollback_to_release_1.0">
<tagDatabase tag="1.0"/>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-1">
<dropTable tableName="client" cascadeConstraints="true"/>
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-1a">
<createTable tableName="client">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="client_pkey" />
</column>
<column name="city" type="VARCHAR(255)" />
<column name="company" type="VARCHAR(255)" />
<column name="country" type="VARCHAR(255)" />
<column name="email" type="VARCHAR(255)" />
<column name="industry" type="VARCHAR(255)" />
<column name="is_deleted" type="BOOLEAN" />
<column name="name" type="VARCHAR(255)" />
<column name="phone" type="BIGINT" />
<column name="pin_code" type="BIGINT" />
<column name="registration_date" type="date" />
<column name="state" type="VARCHAR(255)" />
<column name="status" type="VARCHAR(255)" />
<column name="street" type="VARCHAR(255)" />
<column name="tele_phone" type="VARCHAR(255)" />
<column name="website" type="VARCHAR(255)" />
<column name="customer_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="client" />
</rollback>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-2">
<dropTable tableName="customer" cascadeConstraints="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-2a">
<createTable tableName="customer">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="customer_pkey" />
</column>
<column name="city" type="VARCHAR(255)" />
<column name="country" type="VARCHAR(255)" />
<column name="state" type="VARCHAR(255)" />
<column name="street" type="VARCHAR(255)" />
<column name="zip" type="VARCHAR(255)" />
<column name="created_at" type="VARCHAR(255)" />
<column name="email" type="VARCHAR(255)" />
<column name="logo" type="VARCHAR(255)" />
<column name="password" type="VARCHAR(255)" />
<column name="phone" type="VARCHAR(255)" />
<column name="role" type="VARCHAR(255)" />
<column name="status" type="VARCHAR(255)" />
<column name="updated_at" type="VARCHAR(255)" />
<column name="username" type="VARCHAR(255)" />
</createTable>
<rollback>
<dropTable tableName="customer" />
</rollback>
</changeSet>
<changeSet id="Rashmi" author="1710234642994-3">
<dropTable tableName="employee" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-3a" dbms="postgresql">
<createTable tableName="employee">
<column autoIncrement="true" name="id" type="INTEGER">
<constraints nullable="false" primaryKey="true"
primaryKeyName="employee_pkey" />
</column>
<column name="city" type="VARCHAR(255)" />
<column name="country" type="VARCHAR(255)" />
<column name="state" type="VARCHAR(255)" />
<column name="street" type="VARCHAR(255)" />
<column name="zip" type="VARCHAR(255)" />
<column name="billing_period_id" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="bu" type="VARCHAR(255)" />
<column name="company" type="VARCHAR(255)" />
<column name="contract_end" type="VARCHAR(255)" />
<column name="date_of_joining" type="date" />
<column name="delivery_manager_email" type="VARCHAR(255)" />
<column name="delivery_manager_name" type="VARCHAR(255)" />
<column name="department" type="VARCHAR(255)" />
<column name="email_id" type="VARCHAR(255)" />
<column name="employee_name" type="VARCHAR(255)" />
<column name="employee_no" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="employment_status" type="VARCHAR(255)" />
<column name="gender" type="VARCHAR(255)" />
<column name="grade" type="VARCHAR(255)" />
<column name="group_emp" type="VARCHAR(255)" />
<column name="level" type="VARCHAR(255)" />
<column name="location_mode" type="VARCHAR(255)" />
<column name="nt_id" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="personnel_subareabgs" type="VARCHAR(255)" />
<column name="po_line_item" type="VARCHAR(255)" />
<column name="purchase_order" type="VARCHAR(255)" />
<column name="section" type="VARCHAR(255)" />
<column name="skill_set" type="VARCHAR(255)" />
<column name="sow_jd_id" type="VARCHAR(255)" />
<column name="status" type="VARCHAR(255)" />
<column name="vendor_email" type="VARCHAR(255)" />
<column name="vendor_id" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="vendor_name" type="VARCHAR(255)" />
<column name="customer_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="employee" />
</rollback>
</changeSet>
<changeSet id="Rashmi" author="1710234642994-4">
<dropTable tableName="industry" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-4a">
<createTable tableName="industry">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="industry_pkey" />
</column>
<column name="is_deleted" type="BOOLEAN" />
<column name="name" type="VARCHAR(255)" />
<column name="customer_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="industry" />
</rollback>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-5">
<dropTable tableName="job_details" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-5a">
<createTable tableName="job_details">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="job_details_pkey" />
</column>
<column name="budget" type="INTEGER" />
<column name="client_id" type="BIGINT" />
<column name="delivery_manager_name" type="VARCHAR(255)" />
<column name="description" type="VARCHAR(255)" />
<column name="duration_months" type="INTEGER" />
<column name="end_client_name" type="VARCHAR(255)" />
<column name="experience" type="VARCHAR(255)" />
<column name="good_to_have_skills" type="VARCHAR(255)" />
<column name="headcount" type="INTEGER" />
<column name="industry" type="VARCHAR(255)" />
<column name="job_title" type="VARCHAR(255)" />
<column name="job_type" type="VARCHAR(255)" />
<column name="location" type="VARCHAR(255)" />
<column name="login" type="VARCHAR(255)" />
<column name="logout" type="VARCHAR(255)" />
<column name="mandatory_skills" type="VARCHAR(255)" />
<column name="position_for" type="VARCHAR(255)" />
<column name="project_type" type="VARCHAR(255)" />
<column name="projects_id" type="BIGINT" />
<column name="relevant_experience" type="VARCHAR(255)" />
<column name="roles_responsibilities" type="VARCHAR(255)" />
<column name="sow_jd_id" type="VARCHAR(255)" />
<column name="status" type="VARCHAR(255)" />
<column name="time_zone" type="VARCHAR(255)" />
<column name="work_type" type="VARCHAR(255)" />
</createTable>
<rollback>
<dropTable tableName="job_details" />
</rollback>
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-7a">
<createTable tableName="projects">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="projects_pkey" />
</column>
<column name="is_deleted" type="VARCHAR(255)" />
<column name="type_of_service" type="VARCHAR(255)" />
<column name="customer_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="projects" />
</rollback>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-8" >
<dropTable tableName="purchase_order" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-8a">
<createTable tableName="purchase_order">
<column autoIncrement="true" name="id" type="INTEGER">
<constraints nullable="false" primaryKey="true"
primaryKeyName="purchase_order_pkey" />
</column>
<column name="from_date" type="date" />
<column name="invoice_to_addr" type="VARCHAR(255)" />
<column name="line_item" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="net_value" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="order_quantity" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="po_date" type="date" />
<column name="po_file_name" type="VARCHAR(255)" />
<column name="po_requestor" type="VARCHAR(255)" />
<column name="price_per_unit" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="purchase_order_no" type="INTEGER">
<constraints nullable="false" />
</column>
<column name="resource_name" type="VARCHAR(255)" />
<column name="ship_to_addr" type="VARCHAR(255)" />
<column name="sow_jd_id" type="VARCHAR(255)" />
<column name="to_date" type="date" />
<column name="uom_pom" type="VARCHAR(255)" />
</createTable>
<rollback>
<dropTable tableName="purchase_order" />
</rollback>
</changeSet>
<changeSet author="1710234642994-9" id="Rashmi">
<dropTable tableName="resource" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-9a">
<createTable tableName="resource">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="resource_pkey" />
</column>
<column name="email" type="VARCHAR(255)" />
<column name="is_deleted" type="BOOLEAN" />
<column name="name" type="VARCHAR(255)" />
<column name="phone" type="BIGINT">
<constraints nullable="false" />
</column>
<column name="status" type="VARCHAR(255)" />
<column name="vendor_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="resource" />
</rollback>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-10">
<dropTable tableName="spocdetails" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-10a">
<createTable tableName="spocdetails">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="spocdetails_pkey" />
</column>
<column name="client_id" type="BIGINT" />
<column name="is_deleted" type="BOOLEAN" />
<column name="spoc_email" type="VARCHAR(255)" />
<column name="spoc_name" type="VARCHAR(255)" />
<column name="spoc_phone" type="BIGINT">
<constraints nullable="false" />
</column>
<column name="status" type="VARCHAR(255)" />
</createTable>
<rollback>
<dropTable tableName="spocdetails" />
</rollback>
</changeSet>
<changeSet author="Rashmi" id="1710234642994-11">
<dropTable tableName="vendor" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-11a">
<createTable tableName="vendor">
<column autoIncrement="true" name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"
primaryKeyName="vendor_pkey" />
</column>
<column name="city" type="VARCHAR(255)" />
<column name="country" type="VARCHAR(255)" />
<column name="email" type="VARCHAR(255)" />
<column name="industry" type="VARCHAR(255)" />
<column name="is_deleted" type="BOOLEAN" />
<column name="lindline" type="VARCHAR(255)" />
<column name="name" type="VARCHAR(255)" />
<column name="person" type="VARCHAR(255)" />
<column name="phone" type="BIGINT" />
<column name="pin_code" type="BIGINT" />
<column name="registration_date" type="date" />
<column name="state" type="VARCHAR(255)" />
<column name="status" type="VARCHAR(255)" />
<column name="street" type="VARCHAR(255)" />
<column name="website" type="VARCHAR(255)" />
<column name="customer_id" type="BIGINT" />
</createTable>
<rollback>
<dropTable tableName="vendor" />
</rollback>
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-12">
<addForeignKeyConstraint baseColumnNames="client_id"
baseTableName="spocdetails"
constraintName="fk5ebiobsi0ktjthiy48dumejy7"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="client" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-13">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="projects"
constraintName="fk5qk99d4prokycgj83swwcbwbq"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-14">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="client"
constraintName="fk6xo94b9eihnrojgxkf7ntwurs"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-15">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="project_type"
constraintName="fkc84wl25lhfqxlyuc4pdr73lfv"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-16">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="employee"
constraintName="fkg76mxqt8whi8t8p4i7el95910"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-17">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="industry"
constraintName="fkodiwy2w9ppcivm06huc3w0ux8"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-18">
<addForeignKeyConstraint baseColumnNames="customer_id"
baseTableName="vendor"
constraintName="fkp88f27fe4tkthfq5o0m14qwyl"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="customer" validate="true" />
</changeSet>
<changeSet author="Rashmi (generated)" id="1710234642994-19">
<addForeignKeyConstraint baseColumnNames="vendor_id"
baseTableName="resource"
constraintName="fksjk8emeu24l1ofy4uod24durn"
deferrable="false"
initiallyDeferred="false"
onDelete="NO ACTION"
onUpdate="NO ACTION"
referencedColumnNames="id"
referencedTableName="vendor" validate="true" />
</changeSet>
UPDATE DATABASECHANGELOGLOCK
SET locked = true, lockgranted = null, lockedby = null
WHERE id = 1;
This is my application. PRoperties → spring.datasource.url=jdbc:postgresql://localhost:5432/Procurement
spring.datasource.username=postgres
spring.datasource.password=Rashmi@123
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.hibernate.ddl-auto=update
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
Enable Hibernate logging
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
Set the root logging level to INFO
logging.level.root=INFO
Set the logging level for a specific package
logging.level.org.springframework=INFO
spring.profiles.active=dev
spring.main.allow-circular-references=true
###SpringDoc API
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.enabled=true
#spring.liquibase.change-log=classpath:db/changelog/changelog-master.xml
spring.liquibase.change-log=classpath:db/changelog/changelog-master.xml
spring.liquibase.enabled=false
spring.liquibase.testRollbackOnUpdate=true
liquibase.shouldRun = false
#spring.liquibase.enabled=false
ChangelogMaster file → <?xml version="1.0" encoding="UTF-8"?>
This is the dependency → <?xml version="1.0" encoding="UTF-8"?>
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.1.4
com.procurement-service
procurement-service
0.0.1-SNAPSHOT
procurement-service
Project for Spring Boot with Postgres
<java.version>21</java.version>
<spock-core.version>2.4-M1-groovy-4.0</spock-core.version>
<groovy-all.version>4.0.16</groovy-all.version>
<gmavenplus-plugin.version>3.0.2</gmavenplus-plugin.version>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- Other dependencies -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version> <!-- Use the latest version -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version> <!-- Use the latest version -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.4.2.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.2</version>
</dependency>
<!-- Spock dependencies -->
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>${spock-core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy-all.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.25.0</version>
<configuration>
<changeLogFile>db/changelog/changelog-master.xml</changeLogFile>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://localhost:5432/Procurement</url>
<username>postgres</username>
<password>Rashmi@123</password>
<outputChangeLogFile>
src/main/resources/db/changelog/initial_schema_v1.xml
</outputChangeLogFile>
</configuration>
</plugin>
</plugins>
</build>