IDBFactory: deleteDatabase() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

メモ: この機能はウェブワーカー内で利用可能です。

deleteDatabase()IDBFactory インターフェイスのメソッドで、データベースの削除を要求します。このメソッドは直ちに IDBOpenDBRequest オブジェクトを返し、非同期でデータベースの削除処理を行います。

データベースの削除が成功した場合、このメソッドから返された request オブジェクトにおいて、resultundefined が設定された状態で success イベントが発生します。 データベースの削除中にエラーが発生した場合、このメソッドから返された request オブジェクトで、error イベントが発生します。

deleteDatabase() が呼び出されると、この具体的なデータベースに対して開いている他の接続には versionchange イベントが送られます。

構文

js
// 現行標準の場合
deleteDatabase(name)

// `options` (下記参照)を使用した実験的な版
deleteDatabase(name)
deleteDatabase(name, options)

引数

name

削除したいデータベースの名前。存在しないデータベースを削除しようとしても、例外は発生しません。これとは対照的に、 IDBDatabase.deleteObjectStore() は、指定したオブジェクトストアが存在しない場合に例外が発生します。

options 省略可 非標準

Gecko では、バージョン 26 以降、permanent(既定値)の IndexedDB を削除するか、temporary ストレージ (別名共有プール)の indexedDB を削除するかを指定する、非標準のオプションストレージ引数を含めることができます。

返値

この要求に関連のある連続したイベントが発生する IDBOpenDBRequest

処理が成功した場合、リクエストの result プロパティの値は null となります。

js
const DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");

DBDeleteRequest.onerror = (event) => {
  console.error("データベースの削除中にエラーが発生しました。");
};

DBDeleteRequest.onsuccess = (event) => {
  console.log("データベースが正常に削除されました。");

  console.log(event.result); // null のはず
};

仕様書

Specification
Indexed Database API 3.0
# ref-for-dom-idbfactory-deletedatabase①

ブラウザーの互換性

BCD tables only load in the browser

関連情報