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①

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
deleteDatabase

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報