mysql - 如何在 gulpfile 中将 mysqldump 与 --hex-blob 一起使用?
问题描述
我有一个 gulpfile.js。我想转储 mysql 数据库,但“varbinary”类型有问题,所以我想使用 arg --hex-blob 因为这是其他人在这里遇到同样问题的解决方案。
问题是使用 mysqldump 的导出看起来与使用 phpmyadmin 的导出不同。"varbinary" 总是用 MySQL-Server 中不存在的 "NOFORMAT_WRAP" 函数包裹。
mysqldump 是 npm 的最新版本。
谢谢。
使用 mysqldump 创建的 dump.sql:
INSERT INTO
`session` (`session_id`) VALUES
(NOFORMAT_WRAP(
"##X'316236316d396d683275716834636d6b697035756e6b39766d67'##"
)
与 phpmyadmin 相同(这是预期的):
INSERT INTO `session` (`session_id`) VALUES
(0x316236316d396d683275716834636d6b697035756e6b39766d67)
gulpfile.js:
const mysqlDump = require('mysqldump');
// database dump
gulp.task('dumpDatabase', () => {
return mysqlDump({
connection: {
host: 'localhost',
user: 'who',
password: 'pass',
database: 'test'
},
dumpToFile: '../../../database/backup-' + today + '.sql'
});
});
gulp.task('default', gulp.series('dumpDatabase'));
解决方案
在https://www.npmjs.com/package/mysqldump中,您可以获得完整的选项列表。
在您的情况下,您需要像这样添加转储选项。
// database dump
gulp.task('dumpDatabase', () => {
return mysqlDump({
connection: {
host: 'localhost',
user: 'who',
password: 'pass',
database: 'test'
},
dump: {
data: {
format : false
}
},
dumpToFile: '../../../database/backup-' + today + '.sql'
});
});
推荐阅读
- itext7 - itext7 合并由 HtmlConverter.convertToDocument 创建的文档并保留大纲
- apache-kafka - SMT 时间戳转换器抛出 NullPointerException
- c# - 在asp.net core 2 MVC中通过ajax显示来自控制器的json字符串
- vue.js - 如果 this.$route.name 是登录 vuejs,则仅显示登录页面
- routes - 为什么这个 url 不能匹配 asp.net webapi 中的 Route Temple
- tr - “tr AZ C-ZA-B”和“tr ..AZ A-ZA-Z”是否相等?
- magento - 作曲家可以覆盖现有文件吗?
- ios - 将属性转换为 URL / NSURL
- xamarin - iOS Xamarin 表单上的启动屏幕图像从哪里显示?
- r - 为不同数据框的列表创建循环