django-google-spanner==3.0.0でエミュレータを使おうとして挫折した話

Qiita Django Advent Calendar 2021 6日目は、DjangoのデータベースバックエンドにGoogle Cloud Spannerを使えるようにするdjango-google-spannerに関する話を書きます。

django-google-spannerの公式ドキュメントには本物のCloud Spannerインスタンスと接続する使い方しか書かれていませんが、この方法だとmigrateコマンドの実行にかなり時間がかかります(私が試したときは10分ぐらいかかりました)。 ローカルのエミュレータを使うようにすれば、もっと早くなって楽に開発できるのでは? と考えて、実際にやってみました。

結論から先に書くと、この試みはうまくいきませんでした… migrateコマンドの実行は高速化できるのですが、データの登録に失敗するケースがあります。

[続きを読む]