У меня есть набор смены ликвазы для mysql aurora db:
<changeSet author="xxxxxx" id="1553175489296-3">
<createTable tableName="event">
<column name="id" type="VARCHAR(64)">
<constraints primaryKey="true"/>
</column>
<column name="created" type="datetime">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"/>
<column name="description" type="MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"/>
<column name="external_service_config" type="MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"/>
<column name="language" type="VARCHAR(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"/>
</createTable>
</changeSet>
Кодировка типа поля VARCHAR(*)
установлена правильно, но MEDIUMTEXT
остается базой данных по умолчанию.
Я что-то не так делаю?
PS: я не могу пойти с
<modifySql dbms="mysql">
<append value="ENGINE=INNODB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci"/>
</modifySql>
С тех пор устанавливается кодировка для всей таблицы, и я не могу этого сделать, поскольку у меня есть ключи, длина которых превышает 787 байт. Таким образом, кодировка для столбцов - единственный способ для меня.