Могу ли я установить jhipster с базой данных Firebird? - PullRequest
0 голосов
/ 17 мая 2019

У меня есть база данных с firebird, и мне нужно иметь возможность интегрировать ее с jhipster

Я искал в интернете и не смог найти информацию

1 Ответ

1 голос
/ 17 мая 2019

Я провел небольшой эксперимент, и хотя добавление Jaybird (драйвера JDBC Firebird) и переключение на URL-адрес Firebird JDBC для существующей базы данных и использование диалекта Firebird Hibernate позволяет подключать JHipster, вам необходимо исправить сгенерированную модель базы данных, чтобы получитьэто на самом деле работает.Liquibase не поддерживает ряд функций Liquibase с Firebird и автоматически не заключает в кавычки ключевые слова, диалект Hibernate пытается использовать таблицу последовательности вместо созданной последовательности, и, вероятно, другие вещи, с которыми я еще не сталкивался.

Короче говоря, это может работать, но определенно не из коробки.

Я специально сделал следующее:

  • Добавлена ​​зависимость Jaybird.С помощью gradle добавьте implementation "org.firebirdsql.jdbc:jaybird-jdk18" в секцию dependencies build.gradle
  • Изменено application-dev.yml для использования Firebird (без изменений в свойствах):

    spring:
      datasource:
        url: jdbc:firebirdsql://localhost/jhipsterexperiment?charSet=utf-8
        username: jhipsterexperiment
        password: jhipsterexperiment
      jpa:
        database-platform: org.hibernate.dialect.FirebirdDialect
        database: DEFAULT
    
  • Затем я запустил приложение и исправил ошибки Liquibase
    • Удалил свойства startValue и incrementBy из createSequence элемента
    • Закомментировал (удалил) addNotNullConstraint elements
    • Явно заключил в кавычки имя столбца value от <column name="value" type="varchar(255)"/> до <column name="&quot;VALUE&quot;" type="varchar(255)"/>

После этого мое приложение jhipster запустилось, но попытка входа в систему не удалась из-за спящего режимапытается использовать таблицу с именем SEQUENCE_GENERATOR вместо последовательности с таким именем.В этот момент я прекратил расследование.

...