IDBDatabase.deleteObjectStore()

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

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

注: この機能は Web Worker 内で利用可能です

構文

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①

ブラウザーの互換性

BCD tables only load in the browser

関連情報