IDBDatabase: deleteObjectStore() メソッド

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.

deleteObjectStore()IDBDatabase インターフェイスのメソッドで、対象のオブジェクトストアを参照するすべてのインデックスとともに、接続しているデータベースにある指定の名前のオブジェクトストアを削除します。

IDBDatabase.createObjectStore と同様に、このメソッドは versionchange トランザクション内で のみ 呼び出すことができます。

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

構文

js
deleteObjectStore(name)

引数

name

削除するオブジェクトストアの名前です。名前は大文字と小文字を区別します。

返値

なし (undefined)。

例外

InvalidStateError DOMException

このメソッドが versionchange トランザクションのコールバックとして呼び出されなかった場合に発生します。

TransactionInactiveError DOMException

存在しないソースデータベースに対してリクエストが行われた場合に発生します(例えば、データベースが削除された場合など)。

NotFoundError DOMException

存在しないオブジェクトストアを削除しようとしたとき投げられます。

js
const dbName = "sampleDB";
const dbVersion = 2;
const request = indexedDB.open(dbName, dbVersion);

request.onupgradeneeded = (event) => {
  const db = request.result;
  if (event.oldVersion < 1) {
    db.createObjectStore("store1");
  }

  if (event.oldVersion < 2) {
    db.deleteObjectStore("store1");
    db.createObjectStore("store2");
  }

  // version < 3, 4... について同様に
};

仕様書

Specification
Indexed Database API 3.0
# ref-for-dom-idbdatabase-deleteobjectstore①

ブラウザーの互換性

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
deleteObjectStore

Legend

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

Full support
Full support

関連情報