My Liquibase
changeset looks like
<changeSet id="05192014.1525" author="h2">
<createTable tableName="network">
<column name="network_id" type="BIGINT(19) UNSIGNED">
<constraints nullable="false" primaryKey="true"/>
</column>
<column name="name" type="VARCHAR(300)">
<constraints nullable="false"/>
</column>
<column name="active" type="TINYINT(1)" defaultValue="1">
<constraints nullable="false"/>
</column>
<column name="created_at" type="TIMESTAMP" defaultValueComputed="CURRENT_TIMESTAMP">
<constraints nullable="false"/>
</column>
<column name="created_by" type="VARCHAR(100)"/>
<column name="updated_at" type="TIMESTAMP"/>
<column name="updated_by" type="VARCHAR(100)"/>
</createTable>
</changeSet>
Maven
using pluginmvn clean install
, it creates MySQL
table like CREATE TABLE
network
(network_id
bigint(19) unsigned NOT NULL,name
varchar(300) NOT NULL,active
tinyint(1) NOT NULL DEFAULT '1',created_at
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,created_by
varchar(100) DEFAULT NULL,updated_at
timestamp NULL DEFAULT NULL,updated_by
varchar(100) DEFAULT NULL, PRIMARY KEY (network_id
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Everything looks good except CHARSET=latin1
Question
How can I make CHARSET=UTF-8
?
If needing per-column specification of charset/collate (as you may want different charsets for your columns), the following has worked for me (just appending CHARACTER SET and COLLATE clauses to the type
attr value of column
):
<createTable tableName="my_table">
<column name="some_column" type="VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" >
<constraints nullable="false"/>
</column>
</createTable>
Alternatively, you can use:
<createTable tableName="my_table">
<column name="some_column" type="VARCHAR(20)" >
<constraints nullable="false"/>
</column>
</createTable>
<modifySql dbms="mysql">
<replace replace="VARCHAR(20)" with="VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" />
</modifySql>
You can omit CHARACTER SET
but not COLLATE
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With