Стратегия именования в спящем режиме для MariaDB (UPPER_SNAKE_CASE) - PullRequest
0 голосов
/ 01 октября 2019

В моем приложении я использую flyway для переноса данных, поэтому я определил все вкладки со всеми именами в UPPER_SNAKE_CASE (например, пользователи -> USERS ,андидатские группы -> CANDIDATE_GROUP). Я предоставил 2 конфигурации для разных сред: локальная и докерская. В локальной среде я работаю с h2, на докере я работаю с MariaDB.

Теперь, когда работаю на h2, все работает нормально, на MariaDB hibernate пытается выполнить операции на всех строчных вкладках, это приводит к ошибке:`` Вызвано: java.sql.SQLException: Таблица 'application.users' не существует`

После некоторых исследований я попытался добавить в свой application-docker.yml:

  spring:
    jpa:
     hibernate:
       naming:
         physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

Это приводит к использованию заглавных букв в hibernate: Caused by: java.sql.SQLException: Table 'application.Users' doesn't exist

Я знаю, что могу именовать все таблицы с аннотацией @Table(name = "USERS") и также предоставлять имена для всех столбцов, но это не мое желаемое решение.

К сожалению, я не нашел ни одной стратегии для моего случая (я знаю, this показывает, как создать собственную стратегию именования, но я не думаю, что мой случай настолько необычен), какую стратегию именования мне следуетиспользовать для моей конфигурации MariaDB, чтобы соответствовать моему случаю?

...