DIOAcad / .github

0 stars 0 forks source link

🛠️ Configurar ambientes (H2 para desenvolvimento e PostgreSQL para produção) #15

Closed Edwanderson closed 2 days ago

Edwanderson commented 2 days ago

Issue: 🛠️ Configurar Ambientes (H2 para Desenvolvimento e PostgreSQL para Produção)

Descrição:

Configurar os ambientes de desenvolvimento e produção para a aplicação, utilizando H2 para desenvolvimento e PostgreSQL para produção. As configurações devem ser separadas em perfis distintos para facilitar o gerenciamento de diferentes ambientes.

Tarefas:

Dependências do pom.xml:

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- H2 Database (Desenvolvimento) -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- PostgreSQL Database (Produção) -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- Spring Boot Starter JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>

    <!-- Swagger (SpringFox) -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>
  1. application.yml (seleção de perfil):
    
    spring:
    profiles:
    active: dev  # Perfil ativo (dev ou prod)
2. application-dev.yml (configuração para H2):
```yaml
spring:
  datasource:
    url: jdbc:h2:mem:testdb
    driver-class-name: org.h2.Driver
    username: sa
    password:
  h2:
    console:
      enabled: true  # Habilita o console do H2
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
  1. application-prod.yml (configuração para PostgreSQL):
    
    spring:
    datasource:
    url: jdbc:postgresql://localhost:5432/nome_do_banco
    driver-class-name: org.postgresql.Driver
    username: seu_usuario
    password: sua_senha
    jpa:
    hibernate:
      ddl-auto: update
    show-sql: true