GAE CSVLoaderでMySQLのblob型データをDatastoreに読み込む

CSVLoaderを少し改良してMySQLからblob形式のデータも移行できるようになりました。ついでにJDOではなくEntityに変換するCSVtoEntityを追加しました。CSVtoEntityもフィールド型認識のため、JDOと同様にデータクラスが必要です。

CSVLoaderでMySQLのblob型データを読み込むために、HEX関数で16進文字列としてエクスポートします。実際の読み込み方法などは前の記事を参照。

mysql > SELECT HEX(data) INTO OUTFILE 'hexdata.txt'
FIELDS TERMINATED BY ','
FROM tbl_name;

・CSVLoader2のソースをダウンロード

余談。エクスポートしたCSVを以下のクエリでMySQLにインポートすることはできない…?テストで使用したphpMyAdminはCSVでblobを扱う項目がない。(SQLはある)

mysql > LOAD DATA INFILE 'hexdata.txt'
INTO TABLE tbl_name (@param)
FIELDS TERMINATED BY ','
SET data = UNHEX(@param);
CSVtoEntity

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です