Дополнительный датастор с устаревшим MySql

Доброго дня.

Есть ли возможность сконфигурировать дополнительный датастор с использованием драйвера com.mysql.jdbc.Driver (версия 5.1.47)?

Здравствуйте,

Какую версию Jmix вы используете?

С Уважением,
Никита

Добрый день, @shchienko
Версия 1.5.x

Добрый день,

Вы можете попробовать добавить в gradle.build зависимость на нужную версию Mysql и в application.properties указать драйвер для дополнительного датасорса.

mysql.datasource.driver-class-name=com.mysql.jdbc.Driver

С Уважением,
Никита

1 симпатия

Правильно я понимаю, что это должно помочь нам в рантайме?
Сгенерировать модель с помощью студии это не поможет?

Генерация скриптов для дополнительных датасторов тоже поддерживается, но она по-умолчанию выключена, её необходимо включить.

image

С Уважением,
Никита

Я не о генерации скриптов, а о генерации dto-сущности из датастора.
implementation 'mysql:mysql-connector-java:5.1.49'
genank.datasource.driver-class-name=com.mysql.jdbc.Driver

image

Именно DTO-сущности или JPA-сущности?

В настройках дополнительного datasource вы выбрали драйвер?
image

После выбора драйвера, вы можете аналогично как и с основным datasource генерировать модель данных из базы данных.

Generate Model from database:
image

Далее выбирать интересующие вас сущности:
image

С Уважением,
Никита

1 симпатия

На текущий момент у меня нет предложения о конфигурации драйвера для этого стора.
Если смотреть в настройки jmix, то драйвер там присутствует.
image

Но как назначить его для стора мне не ясно…

По вашему скрину у вас уже выбран драйвер.

Ошибка появляется при тестовом подключении? Проверьте настройки подключения к базе данных.

Пример подключения к Mysql:

docker-compose.yml

version: "3"
services:
  mysql:
    image: mysql:5.7.42
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=my_secret_password
      - MYSQL_DATABASE=app_db
      - MYSQL_USER=db_user
      - MYSQL_PASSWORD=db_user_pass
    ports:
      - "3306:3306"
    volumes:
      - dbdata:/var/lib/mysql
volumes:
  dbdata:

application.properties:

mysql.datasource.url=jdbc:mysql://localhost/app_db?useSSL=false&allowMultiQueries=true&serverTimezone=UTC
mysql.datasource.username=db_user
mysql.datasource.password=db_user_pass

jmix.core.additional-stores=mysql

mysql.liquibase.change-log = com/company/jmixmysqladditionalstore1/liquibase/mysql-changelog.xml

Похожая проблема: java - Spring boot CLIENT_PLUGIN_AUTH is required - Stack Overflow

Я “собрал” руками dto-сущность. В рантайм все работает нормально.
Проблема именно в том, как заставить jmix-plugin использовать нужный драйвер.

Добрый день

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

1 симпатия