MySQL: по умолчанию Charset / Collation в созданной базе данных вместо UTF-8 - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть следующее application.properties:

spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://localhost:3306/database1?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&URIEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Когда я запускаю приложение в первый раз (без базы данных), приложение создает базу данных с набором символов по умолчанию для сервера (MySQL 5.7+) (на моем сервере - latin1). Как заставить его utf-8?

В этот момент я поставил эту строку:

ALTER SCHEMA `database1` DEFAULT CHARACTER SET utf8mb4  DEFAULT COLLATE utf8mb4_unicode_ci;

в файл schema.sql. Это не очень хорошее решение для меня, потому что я хочу иметь возможность изменить имя базы данных в application.properties.

Заранее благодарю за любую помощь.

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