🌊

SQLite3からMySQLへDBをマイグレーションする方法

2021/06/13に公開

どういう人向け?

開発時、インフラの構築が不要で気軽に使えるDBのSQLite3

インフラ構築が不要で気軽に使える反面、
システムの運用を意識し始めるすぐDBがlockしてしまったり、
スケールアウトできなかったり、パフォーマンス面では致命的な難があると言わざるをません。

SQLite3で作ったDBにデータがあったとしても、データをそのままMySQLに移行できたら
とりあえずはインフラ構築を後回しにしてある
程度パフォーマンスを要求するようになってきてから移行できたら便利なのに。

ということで、何かないか調べてみたところ、
便利で簡単な方法があったので手順を残しておくことにします。

SQLite3のdump

sqlite3 sqlite.db .dump > sqlite3.dump

SQLite3のdumpをMySQLで扱える形に変換&インポート

pip install sqlite3-to-mysql
sqlite3mysql -f ./sqlite3.dump -u MYSQL_DB_USERNAME -h MYSQL_DB_HOST_NAME -p

https://pypi.org/project/sqlite3-to-mysql/

Discussion