🗂
Firebase CLIを使ってFirestoreのTTLポリシーを管理する
はじめに
FirestoreのTTLポリシーを使うと特定のコレクショングループ内のドキュメントを自動で削除することができます。
本稿ではFirebase CLI利用して、FirestoreのTTLポリシーをデプロイする方法を記載します。
※ Firebase CLIはv11.18.0からTTLをサポートしています。
Firebase CLIでTTLポリシーを作成する
まず、firestore.indexes.json のようなJSONファイルを作成します。フォーマットは以下のようになります。
{
"indexes": [],
"fieldOverrides": [
{
"collectionGroup": "TestCollection",
"fieldPath": "ExpireAt",
"ttl": true,
"indexes": [
{
"order": "ASCENDING",
"queryScope": "COLLECTION"
},
{
"order": "DESCENDING",
"queryScope": "COLLECTION"
},
{
"arrayConfig": "CONTAINS",
"queryScope": "COLLECTION"
}
]
}
]
}
firebase CLIからデプロイする際に使うインデックスファイルの場所を指定するために、firebase.jsonに以下を記載します。
{
"firestore": {
"indexes": "./firestore.indexes.json"
}
}
上記の2ファイルを作った状態で以下のコマンドを実行するとTTLポリシーがデプロイされます。
firebase --config ./firebase.json deploy --only firestore:indexes
作成したTTLポリシーを取得
作成したTTLポリシーは以下で取得することができます。
また、コンソール画面から追加したポリシーも取得できるので、jsonファイル管理に移行することができます。
firebase firestore:indexes
Discussion