有没有办法为 dbic-migration 脚本提供 `mysql_enable_utf8 => 1` 选项?
Is there a way to provide `mysql_enable_utf8 => 1` option for dbic-migration script?
我使用命令从数据库中提取数据:
${MIGRATION_CMD} --schema_class ${APP_NAMESPACE} --database ${DB_TYPE} -Ilib dump_all_sets
数据库支持 utf8,但转储的装置有“??????”代替 utf8 字符:
$HASH1 = {
id => 125,
last_name => '?????',
};
该模块没有记录如何告诉 dbic-migration
脚本关于 utf8 数据库感知。
有没有办法为 dbic-migration
脚本提供 mysql_enable_utf8 => 1
选项? 就像我用 connect:
App::Schema->connect( $DSN, $user, $password, {
mysql_enable_utf8 => 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 ....
我使用命令从数据库中提取数据:
${MIGRATION_CMD} --schema_class ${APP_NAMESPACE} --database ${DB_TYPE} -Ilib dump_all_sets
数据库支持 utf8,但转储的装置有“??????”代替 utf8 字符:
$HASH1 = {
id => 125,
last_name => '?????',
};
该模块没有记录如何告诉 dbic-migration
脚本关于 utf8 数据库感知。
有没有办法为 dbic-migration
脚本提供 mysql_enable_utf8 => 1
选项? 就像我用 connect:
App::Schema->connect( $DSN, $user, $password, {
mysql_enable_utf8 => 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 ....