Atualmente, estou desenvolvendo um aplicativo de Sistema de Gerenciamento de Bibliotecas (LMS) baseado em Java . A pilha de tecnologia inclui Spring Boot para o backend, JavaFX para o frontend, JUnit para testes e PostgreSQL como banco de dados. O banco de dados é conteinerizado usando Docker com a seguinte docker-compose.yml
configuração:
version: '3'
services:
postgres:
image: postgres:14.2
container_name: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
volumes:
- ./src/main/resources/initial_data_generation.sql:/docker-entrypoint-initdb.d/init.sql
Nele, o caminho para o arquivo de inicialização do meu banco de dados já concedeu a propriedade do banco de dados ao postgres
usuário usando um comando (veja o arquivo para mais detalhes):
...
CREATE DATABASE "library-system-db" WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE = 'en_US.utf8';
ALTER DATABASE "library-system-db" OWNER TO postgres;
\connect -reuse-previous=on "dbname='library-system-db'"
...
Além disso, o application.properties
arquivo é configurado para se conectar ao banco de dados depois que o contêiner estiver ativo:
## Database connection
spring.datasource.url=jdbc:postgresql://${DATABASE_HOST:localhost}:${DATABASE_PORT:5432}/${DATABASE_NAME:library-system-db}
spring.datasource.username=${DATABASE_USERNAME:postgres}
spring.datasource.password=${DATABASE_PASSWORD:password}
# JPA Properties
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
Após a execução docker compose up -d
, verifiquei os logs e confirmei que o contêiner estava funcionando corretamente. Também acessei o terminal do contêiner para verificar diretamente e vi que o banco de dados foi criado.
No entanto, quando executo o aplicativo por meio do main()
método, a compilação falha e gera o erro:
FATAL: database "library-system-db" does not exist
Você pode encontrar mais detalhes no arquivo de log em anexo . O log também sugere que alguns outros erros podem estar relacionados a esse problema raiz.
Eu realmente apreciaria quaisquer sugestões ou soluções que você possa ter para resolver esse problema 🙏
PS: O projeto que estou desenvolvendo é baseado no código-fonte do Github criado por Kwame Mintah . Avise-me se precisar de mais informações!