WEBでいろいろググって手動で変換してたけど、うまく行かなかった。
英語で検索したらすぐに変換スクリプトが出てきたのでそれを試したらだいたいうまくいったよ!って話。
やったこと
SQLiteのダンプファイルをとって、テキストエディタで手動で変換してたんだけど、うまくいかない。
TRANSACTIONやら、AUTOINCREMENTやら、データ型やらを変換してたけどまぁインポートはうまくいかない。
うまくいかないのは正規表現などの記事の文字列あたりがおかしいと怒られる。その辺りのデータを一旦削除するとインポート自体はまあ通った。しかしインポートされたデータを見ると、booleanあたりがおかしい。
この辺りで2時間程度時間を費やし心が折れてきた・・もうめんどくさいお(`;ω;´)
日本語で検索してんのが悪いんじゃないかと思い、「SQLite to MySQL」でググると一発でpyhonスクリプトが出てきた。
[記事] http://fabianpeter.de/cloud/owncloud-migrating-from-sqlite-to-mysql/
スクリプトのダウンロード
こうするといいよ!
前提
- pythonが動作する環境
- sqlite3が動作する環境
手順1
SQLiteデータのダンプ
# sqlite3 target.db .dump > dump.sql
手順2
スクリプトのダウンロード
スクリプトに実行権限の付与
# wget http://www.redmine.org/attachments/download/6239/sqlite3-to-mysql.py
# chmod a+x sqlite3-to-mysql.py
手順3
変換の実行
# cat dump.sql | python sqlite3-to-mysql.py > target.sql
手順4
MySQLにリストア
mysql -u USER -p DB < target.sql
なんかおかしいとこもある
ほぼほぼOKなんだけど、特殊な文字列はちょっとおかしいところがあった。
でもまあ許与用範囲。