This is my docker-compose.yml
file.
version: '3'
services:
backend-service:
build: ./backend-service
volumes:
- ./backend-service/database:/usr/lib/h2
ports:
- 8080:8080
environment:
- SPRING_DATASOURCE_URL=jdbc:h2:file:/usr/lib/h2/${DB}
- SPRING_DATASOURCE_DRIVERCLASSNAME=org.h2.Driver
- SPRING_DATASOURCE_USERNAME=SA
- SPRING_DATASOURCE_PASSWORD=
- SPRING_JPA_HIBERNATE_DDL-AUTO=update
- SPRING_DATASOURCE_INITIALIZATION-MODE=always
- SPRING_DATASOURCE_DATA=${DATA}
frontend-service:
build: ./frontend-service
ports:
- 3000:80
depends_on:
- backend-service
I want to pass a full system path to sql file like /usr/tmp/someSql.sql
that should be executed when server is starting. I could use default data.sql but problem is that I will have multiple servers that will have different initial/update data so I don't want to put multiple files containing business data inside jar just to make it visible for spring boot and docker.
But even then if I put all the files inside resources folder and I have them in jar and use someData.sql
as value it does not see that file during startup.
I also don't want to create endpoint for user to insert their own sql's for obvious reasons.
I already tried file:/usr/tmp/someSql.sql
but I still get an error that file could not be found.