Boa tarde, Colegas e Instrutores
Durante testes dos exercícios do Screematch" aqui do curso, decidi incluir mais algumas enumerações de Categoria, mas as novas possibilidades não atualizaram automaticamente nas "constraints" da tabela séries.
Na primeira execução da aplicação, a tabela foi criada correta e automaticamente com essa definição:
CONSTRAINT series_genero_check CHECK (genero::text = ANY (ARRAY['ACAO'::character varying, 'COMEDIA'::character varying, 'DRAMA'::character varying, 'CRIME'::character varying, 'TERROR'::character varying, 'MISTERIO'::character varying, 'FANTASIA'::character varying, 'ROMANCE'::character varying]::text[]))
Na execução seguinte, escolhi uma série cujo genêro não se encaixa nas opções de Categoria: após inserir os itens "Aventura" e "Ficção", o Enum passou a funcionar, mas passou a dar erro no SQL:
2025-07-03T16:05:48.886-03:00 WARN 17528 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 23514
2025-07-03T16:05:48.886-03:00 ERROR 17528 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : ERRO: a nova linha da relação "series" viola a restrição de verificação **"series_genero_check"**
Para fins didáticos, eu consigo resolver fazendo o DROP TABLE da tabela "série" pelo próprio pgAdmin, "forçando" que ela seja recriada quando executar novamente a aplicação: infelizmente, nessa opção os dados são perdidos.
Existe alguma ação que a aplicação "force" essa alteração de estrutura no banco de dados? Ou alterações como esta só são possíveis diretamente no PostgreSQL?
Vou transcrever abaixo como está meu arquivo de propriedades:
spring.datasource.url=jdbc:postgresql://${DB_HOST}/${DB_NAME}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
Obrigado.