andyg2 opened a new issue, #2206:
URL: https://github.com/apache/hertzbeat/issues/2206
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current Behavior
Upon running `docker compose up -d` I'm getting an error in
'compose-hertzbeat' stating there's multiple migration files.
>
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/h2/V160__update_column.sql
(SQL)
>
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/mysql/V160__update_column.sql
(SQL)
Despite my best efforts to locate these I haven't been able to find them or
experiment with removing one of them.
### Expected Behavior
Hertzbeat handles the multiple files gracefully, or improved documentation
for remediation.
### Steps To Reproduce
1. Put mysql connector `mysql-connector-java-8.0.25.jar` into ./ext-lib
2. Create a volume `./ext-lib:/opt/hertzbeat/ext-lib`
3. Remove docker container and image
4. run `docker compose up -d`
### Environment
```markdown
HertzBeat version(s): 1.6.0
Windows 10 Pro Version 22H2 (19045.4529)
Docker Desktop 4.31.1 (153621) (newest version available)
```
### Debug logs
```text
2024-07-04 22:25:27.143 [main] ERROR
org.springframework.boot.SpringApplication Line:851 - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'flywayInitializer' defined in class path resource
[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]:
Found more than one migration with version 160
Offenders:
->
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/h2/V160__update_column.sql
(SQL)
->
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/mysql/V160__update_column.sql
(SQL)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:312)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1231)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:949)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
at org.apache.hertzbeat.manager.Manager.main(Manager.java:44)
Caused by: org.flywaydb.core.api.FlywayException: Found more than one
migration with version 160
Offenders:
->
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/h2/V160__update_column.sql
(SQL)
->
/opt/hertzbeat/file:/opt/hertzbeat/apache-hertzbeat-1.6.0.jar!/db/migration/mysql/V160__update_column.sql
(SQL)
at
org.flywaydb.core.internal.resolver.CompositeMigrationResolver.checkForIncompatibilities(CompositeMigrationResolver.java:94)
at
org.flywaydb.core.internal.resolver.CompositeMigrationResolver.doFindAvailableMigrations(CompositeMigrationResolver.java:127)
at
org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:114)
at
org.flywaydb.core.internal.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:120)
at
org.flywaydb.core.internal.info.MigrationInfoServiceImpl.refresh(MigrationInfoServiceImpl.java:86)
at
org.flywaydb.core.internal.command.DbValidate.lambda$validate$0(DbValidate.java:112)
at
org.flywaydb.core.internal.jdbc.TransactionalExecutionTemplate.execute(TransactionalExecutionTemplate.java:59)
at
org.flywaydb.core.internal.command.DbValidate.validate(DbValidate.java:105)
at org.flywaydb.core.Flyway.doValidate(Flyway.java:418)
at org.flywaydb.core.Flyway.lambda$migrate$0(Flyway.java:162)
at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:209)
at org.flywaydb.core.Flyway.migrate(Flyway.java:151)
at
org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)
... 18 common frames omitted
```
### Anything else?

```yml
version: "3.7"
networks:
hertzbeat:
driver: bridge
services:
mysql:
image: mysql:8
container_name: compose-mysql
hostname: mysql
restart: always
healthcheck:
test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --silent']
interval: 3s
retries: 5
start_period: 3m
ports:
- "3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./dbdata/mysqldata:/var/lib/mysql/
- ./conf/sql:/docker-entrypoint-initdb.d/
networks:
- hertzbeat
victoria-metrics:
image: victoriametrics/victoria-metrics:v1.95.1
container_name: compose-victoria-metrics
hostname: victoria-metrics
restart: always
healthcheck:
test: ["CMD", "wget", "-q", "-O", "-",
"http://victoria-metrics:8428/-/healthy"]
interval: 10s
retries: 5
timeout: 5s
start_period: 30s
environment:
TZ: Asia/Shanghai
ports:
- "8428"
volumes:
- ./dbdata/tsdbdata:/victoria-metrics-data
networks:
- hertzbeat
hertzbeat:
image: tancloud/hertzbeat
container_name: compose-hertzbeat
hostname: hertzbeat
restart: always
environment:
TZ: Asia/Shanghai
LANG: zh_CN.UTF-8
depends_on:
mysql:
condition: service_healthy
victoria-metrics:
condition: service_healthy
volumes:
- ./ext-lib:/opt/hertzbeat/ext-lib
- ./conf/application.yml:/opt/hertzbeat/config/application.yml
- ./conf/sureness.yml:/opt/hertzbeat/config/sureness.yml
- ./log:/opt/hertzbeat/logs
-
./conf/enable-mysql-native-password.cnf:/etc/mysql/conf.d/enable-mysql-native-password.cnf
ports:
- "1157:1157"
- "1158:1158"
networks:
- hertzbeat
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail:
[email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]