Liquibase : Invalid argument '--url': missing required argument
Пишу приложение на Spring Boot. При попытке выполнить команду
liquibase generateChangeLog
Получаю следующий вывод:
$ liquibase generateChangeLog
####################################################
## _ _ _ _ ##
## | | (_) (_) | ##
## | | _ __ _ _ _ _| |__ __ _ ___ ___ ##
## | | | |/ _` | | | | | '_ \ / _` / __|/ _ \ ##
## | |___| | (_| | |_| | | |_) | (_| \__ \ __/ ##
## \_____/_|\__, |\__,_|_|_.__/ \__,_|___/\___| ##
## | | ##
## |_| ##
## ##
## Get documentation at docs.liquibase.com ##
## Get certified courses at learn.liquibase.com ##
## ##
####################################################
Starting Liquibase at 20:51:40 (version 4.27.0 #1525 built at 2024-03-25 17:08+0000)
Liquibase Version: 4.27.0
Liquibase Open Source 4.27.0 by Liquibase
Error parsing command line: Invalid argument '--url': missing required argument. If you need to configure new liquibase project files and arguments, run the 'liquibase init project' command.
For detailed help, try 'liquibase --help' or 'liquibase <command-name> --help'
Но у меня указан url
в файле liquibase.properties
. Он лежит в папке src/main/resources
:
[email protected]@/src/main/resources/db/changelog/changelog.yaml
url=jdbc:postgresql://localhost:5432/itrum_db
username=postgres
password=postgres
driver=org.postgresql.Driver
referenceUrl=hibernate:spring:ru.terentyev.itrumtesttask.entities
ignoreClasspathPrefix=true
src/main/resources/db/changelog/changelog.yaml:
databaseChangeLog:
- logicalFilePath: db/changelog/db.changelog-lesson1.yaml
- changeSet:
id: 1
author: dmitriy
changes:
- createTable:
tableName: wallets
columns:
- column:
name: uuid
type: uuid
autoIncrement: false
constraints:
primaryKey: true
nullable: false
- column:
name: balance
type: bigint
constraints:
unique: false
nullable: false
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>ru.terentyev</groupId>
<artifactId>itrumtesttask</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>itrumtesttask</name>
<description>Test task for Itrum</description>
<properties>
<java.version>17</java.version>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyyMMdd-HHmmssSSS</maven.build.timestamp.format>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<configuration>
<propertyFile>liquibase.properties</propertyFile>
<changeLogFile>liquibase.properties</changeLogFile>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
</project>
Как исправить ошибку?
Или нужно где-то в другом месте указать, чтобы url
брался из liquibase.properties
? Если да, то как это сделать?
Ответы (1 шт):
Автор решения: BREEEE
→ Ссылка
Справился с проблемой. Нужно было заменить эту строку в pom.xml
:
<propertyFile>liquibase.properties</propertyFile>
на эту:
<propertyFile>src/main/resources/liquibase.properties</propertyFile>
и запускать команду из папки src/main/resources