MongoDBのDB名を変更する方法を紹介します。
残念ながら一発でアトミックにリネームする方法はないので、「コピーして古い方を削除」するしかありません。
ここでは「ダンプしてリストア」方式を紹介します。
具体的にはmongodump
とmongorestore
というコマンドを使います。
old_db
という名前のデータベースをnew_db
に変更したいとします。
MongoDBサーバが稼働してる状態で、
$ mongodump old_db
$ mongorestore --db new_db ./dump/old_db
ここで、new_dbがちゃんと想定どおりの状態になっていることをテストます。
(具体的には、count()でレコード数を数えたり、アプリケーションから接続して動かしたり)
OKであれば旧DBを削除します。
$ use old_database
$ db.dropDatabase()