Pythonのデータベースの移行などの際に、djangoの機能でもあるdumpを使用します。
その際に、serializeエラーが出ることがあるので、その対処法を紹介します。
manage.py dumpでserializeエラーが出る場合の対処法
実行コード
python manage.py dumpdata > test.json
cmdやターミナルでデータをjsonファイルにまとめようとすると、次のようなエラーが出ます。
エラー
CommandError: Unable to serialize database:~~
データベースがシリアライズ化されていないよーと怒られてますね。
解決策
以下のコードを打ち込みます。
set PYTHONIOENCODING=utf-8
これでPythonのコーディングがutf-8になりました。
この状態で「python manage.py dumpdata > test.json」を打てばOKです。
ちなみにdumpしたデータは新しいデータベースにloadすると思いますが、その際も詰まりやすいポイントがありますので、念のために下記の記事を参考にしてください。
関連記事
PythonのフレームワークDjangoで使用しているデータベースの移行のお話です。 Djangoは初期アプリの推奨DBとしてSQLiteを指定しています。 しかし、それをMySQLに変更したいという人も多いはずです。 dum[…]