如何使用UTF-8字符集中的liquibase创建数据库

时间:2017-07-17 12:16:58

标签: spring utf-8 jhipster liquibase

使用Jhipster(Spring)和Liquibase,如果不存在我希望liquibase创建我的数据库,我希望它是UTF-8。

以下是我的“application-dev.yml”配置文件的示例。

datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://127.0.0.1:3306/scalink?useUnicode=true&characterEncoding=utf8&useSSL=false&createDatabaseIfNotExist=true
    name:
    username: root
    password:
    hikari:
        data-source-properties:
            cachePrepStmts: true
            prepStmtCacheSize: 250
            prepStmtCacheSqlLimit: 2048
            useServerPrepStmts: true

我现在的问题是:我哪里错了?

感谢所有人。

亚历

1 个答案:

答案 0 :(得分:2)

根据这个Liquibase CORE-50,数据库的创建不是Liquibase的任务。尝试使用参数 createDatabaseIfNotExist = true 在数据源URL上创建数据库只是JDBC驱动程序提供的选项。不幸的是,以这种方式创建数据库的选项有限。 documentation也没有提供更多信息。如果您仍想按照提到的方式创建数据库,可以通过JDBC URL创建数据库,然后在 config / liquibase / changelog / 00000000000000_initial_schema.xml 中添加changeSet。正在将架构更改为utf8

<changeSet id="0" author="jhipster">
    <sql>ALTER SCHEMA `jhipstersampleapplication`  DEFAULT CHARACTER SET utf8;
    </sql>
</changeSet>