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