Таблица аудита Envers не существует, когда hibernate (через create-drop) пытается удалить ее - PullRequest
0 голосов
/ 24 апреля 2020

Я использую java, Spring, Hibernate и Envers среди других вещей. Для целей тестирования я использую базу данных h2, а для конфигурации теста я установил spring.jpa.hibernate.ddl-auto=create-drop. Некоторые из моих сущностей проходят аудит (используя envers).

Теперь, когда я запускаю свои тесты, я получаю что-то вроде:

2020-04-24 12:05:30.109 DEBUG [org.hibernate.SQL] [Test worker]: alter table nmc.testtable_aud drop constraint FKcmwq41oxs0yus7mgufns1njbd
Hibernate: alter table nmc.testtable_aud drop constraint FKcmwq41oxs0yus7mgufns1njbd
2020-04-24 12:05:30.112 WARN  [org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl] [Test worker]: GenerationTarget encountered exception accepting command : Error executing DDL "alter table nmc.testtable_aud drop constraint FKcmwq41oxs0yus7mgufns1njbd" via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table nmc.testtable_aud drop constraint FKcmwq41oxs0yus7mgufns1njbd" via JDBC Statement
...
Caused by: org.h2.jdbc.JdbcSQLException: Table "testtable_aud" not found; SQL statement:

Когда я использую spring.jpa.hibernate.ddl-auto=update, описанная ошибка не возникает , но это вызывает проблемы в дальнейшем, так что это не вариант для меня.

Пока тесты запускаются зеленым на моем локальном экземпляре разработчика, он не проходит на центральном тестовом компьютере. Кроме того, это действительно раздражает, так как я не хочу, чтобы он выдавал ошибку, когда в этом нет ничего плохого.

Мне кажется, что это действительно основная проблема c. Я уже некоторое время искал и пробовал разные вещи, но, похоже, не могу разрешить этот конфликт. Из того, что я прочитал, интеграция envers / hibernate работает хорошо, поэтому я не могу поверить, что это обычная вещь, которая заставляет меня думать, что я что-то настроил неправильно. Я просто ожидаю, что hiberate должен отбрасывать только те таблицы, которые уже существуют или, по крайней мере, выдают соответствующие sql.

. Любая помощь и / или указатель в правильном направлении будет принята с благодарностью.

Спасибо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...