如何为例如 Flyway 迁移脚本生成具有十六进制 (blob) 内容的 SQL 插入。
我可以在编辑器中打开二进制内容,例如使用十六进制模式的 UltraEdit。但是,找不到将这些内容复制并粘贴到我的 SQL 编辑器(例如 MySQL Workbench)的方法。我可以复制几个字节,但我需要的文件大约是 60k 到 100k。
建议请任何人?
作为替代方案,您可以将 BLOB 保存为二进制或十六进制格式,并使用基于 Flyway Java 的迁移加载它们。
尝试dbForge Studio for MySQL中的 DataExport 功能。单击数据库资源管理器中表格弹出菜单中的“导出数据”命令,选择需要导出的字段和行,然后按“导出”按钮;您将获得带有 INSERT 语句的 SQL 脚本。
在 MySQL Workbench 6.2 中,我转到顶部菜单中的Server -> Data Export。我选择了我想要的对象。接下来我选择了 Export to Self-Contained File。最后,我点击右上角的Advanced Options按钮,然后选中hex-blob选项。
导出后,导出的文件具有我想要的十六进制 blob 的 INSERTS。
在这里与同事交谈后,尝试了这个快速过程并验证它可以正常工作:-
使用 MySQL Workbench,右键单击 blob 字段并使用新内容“从文件中加载值”。
在命令行(DOS 或 Cygwin)上,使用 mysqldump 实用程序,例如 mysqldump -u root -psomestring --hex-blob my_schemaname my_tablename > destination_file.sql
打开生成的 destination_file.sql,将十六进制内容字符串复制并粘贴到 Flyway 脚本。
量子点