有没有办法为dbic-migration脚本提供`mysql_enable_utf8 => 1`选项?

时间:2018-07-06 16:29:36

标签: perl dbix-class

我使用https://api.highcharts.com/highcharts/s

我使用以下命令从数据库中提取数据:

${MIGRATION_CMD} --schema_class ${APP_NAMESPACE} --database ${DB_TYPE} -Ilib dump_all_sets

该数据库支持utf8,但转储的灯具具有'?????'代替utf8字符:

$HASH1 = {
           id         => 125,
           last_name  => '?????',
         };

该模块未说明如何告诉dbic-migration脚本有关utf8数据库的信息。

是否可以为mysql_enable_utf8 => 1脚本提供dbic-migration选项?就像我使用connect那样:

App::Schema->connect( $DSN, $user, $password, {
    mysql_enable_utf8 => 1
});

1 个答案:

答案 0 :(得分:1)

我发现了。 The section描述了如何解析DSN的地方显示:

DBI->parse_dsn("dbi:MyDriver(RaiseError=>1):db=test;port=42")

因此,在我的情况下,我仅设置了DBIC_MIGRATION_DSN

DBIC_MIGRATION_DSN='dbi:mysql(mysql_enable_utf8=>1):dbname=mydb;host=127.0.0.1;port=3306' dbic-migration ....