Flyway 移行スクリプトなどの 16 進 (blob) コンテンツを含む SQL 挿入を生成するにはどうすればよいですか。
16 進モードを使用する UltraEdit などのエディタでバイナリ コンテンツを開くことができます。ただし、このコンテンツを SQL エディタ (MySQL Workbench など) にコピー アンド ペーストする方法が見つかりません。数バイトをコピーできますが、必要なファイルは約 60k から 100k です。
提案は誰にお願いしますか?
別の方法として、BLOBをバイナリ形式または16進形式のいずれかで保持し、FlywayJavaベースの移行でそれらをロードすることができます。
dbForge Studio for MySQL のDataExport 機能をお試しください。データベース エクスプローラーのテーブルのポップアップ メニューで [データのエクスポート] コマンドをクリックし、エクスポートする必要があるフィールドと行を選択して、[エクスポート] ボタンを押します。INSERT ステートメントを含む SQL スクリプトを取得します。
MySQL Workbench 6.2 内から、トップ メニューの[サーバー] -> [データ エクスポート] に移動しました。私が欲しかったオブジェクトを選択しました。次に、Export to Self-Contained Fileを選択しました。最後に、右上にある [ Advanced Options ] ボタンをクリックし、[ hex-blob ] オプションをオンにしました。
エクスポートすると、エクスポートされたファイルには、16 進ブロブで必要な INSERTS が含まれていました。
ここで同僚と話した後、この簡単なプロセスを試して、問題なく動作することを確認しました:-
MySQL Workbench を使用して、blob フィールドを右クリックし、新しいコンテンツで [ファイルから値をロード] をクリックします。
コマンドライン (DOS または Cygwin) で、mysqldump ユーティリティを使用します (例: mysqldump -u root -psomestring --hex-blob my_schemaname my_tablename > destination_file.sql)。
結果の destination_file.sql を開き、16 進コンテンツの文字列をコピーして Flyway スクリプトに貼り付けます。
QED