Почему я должен отключить управление схемами Javers для инициализации моего приложения? - PullRequest
0 голосов
/ 17 января 2019

В моем проекте Spring-Boot, когда:

  • javers.sqlSchemaManagementEnabled = истина
    Таблицы Javers создаются при первом выполнении (когда таблицы не существуют в базе данных), и код выполняется должным образом, однако, начиная со второго выполнения, генерируется исключение, описывающее, что таблицы не могут быть созданы, поскольку они уже существуют. Эту ситуацию я не могу понять, разве Джаверс не должен знать, что таблицы уже существуют и не пытаются создавать таблицы?

  • javers.sqlSchemaManagementEnabled = ложь
    Если таблицы уже созданы в базе данных, вручную или при выполнении приложения с этим параметром как «true» хотя бы один раз, приложение выполняется как положено.

Что я должен делать?

  1. Что-то не так с моей конфигурацией Spring-Boot? Приложение должно было работать с sqlSchemaManagementEnabled = true, даже если таблицы уже созданы?
  2. Я ожидал, что нужно оставить sqlSchemaManagementEnabled = false и создать таблицы вручную?

1 Ответ

0 голосов
/ 18 января 2019

Если javers.sqlSchemaManagementEnabled=true, Javers создает таблицы SQL, если они еще не существуют.

Здесь проверено:

https://github.com/javers/javers/blob/master/javers-persistence-sql/src/main/java/org/javers/repository/sql/schema/JaversSchemaManager.java#L215

Трудно сказать, почему это не работает в вашем случае, попробуйте отладить этот код, используя последнюю версию Javers.

...