--- title: IDBDatabase.deleteObjectStore() slug: Web/API/IDBDatabase/deleteObjectStore tags: - API - IndexedDB - Méthode - Reference translation_of: Web/API/IDBDatabase/deleteObjectStore ---
La méthode deleteObjectStore()
de l'interface {{domxref("IDBDatabase")}} supprime un magasin d'objet et ses index de la base de données.
Comme la méthode {{domxref("IDBDatabase.createObjectStore")}}, cette méthode doit être appelée uniquement lors d'une transaction en mode versionchange
.
{{AvailableInWorkers}}
dbInstance.deleteObjectStore(name);
name
Aucune.
Cette méthode peut lever une {{domxref("DOMException")}} d'un de ces types suivants:
Exception | Description |
---|---|
InvalidStateError |
Levée si la méthode n'est pas appelée lors d'une transaction en mode versionchange . Pour les anciens navigateurs basés sur WebKit, il faut d'abord appeler la méthode {{domxref("IDBVersionChangeRequest.setVersion")}}. |
TransactionInactiveError |
Levée si la méthode est appelée sur une base de données qui n'existe pas (ex. elle a été effacée). Pour les versions antérieures à Firefox 41, ce dernier déclenchait une erreur InvalidStateError , cela est désormais corrigé (cf. {{bug("1176165")}}). |
NotFoundError |
Levée lors de la suppression d'un magasin d'objets qui n'existe pas. Les noms sont sensibles à la casse. |
Dans cet exemple, on ouvre une connexion à la base de données et dans le gestionnaire d'événements onupdateneeded
, on ajoute un magasin d'objets en utilisant la méthode {{domxref("IDBDatabase.createObjectStore")}}. Enfin, on supprime ce magasin d'objets grâce à deleteObjectStore()
.
// Connexion à la base de données var DBOpenRequest = window.indexedDB.open("toDoList", 4); /* Gestionnaire d'événements qui intervient lors de la mise en place d'une nouvelle version de la base de données, que la base n'existe pas, qu'elle soit ajoutée ou qu'un nouveau numéro de version soit utilisé avec à window.indexedDB.open Seulement utilisé avec les navigateurs récents */ DBOpenRequest.onupgradeneeded = function(event) { var db = event.target.result; db.onerror = function(event) { note.innerHTML += '<li>Erreur du chargement de la base de données.</li>'; }; // Ajoute un magasin d'objets à la base de données var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" }); // Définition des index de ce magasin d'objets objectStore.createIndex("hours", "hours", { unique: false }); objectStore.createIndex("minutes", "minutes", { unique: false }); objectStore.createIndex("day", "day", { unique: false }); objectStore.createIndex("month", "month", { unique: false }); objectStore.createIndex("year", "year", { unique: false }); objectStore.createIndex("notified", "notified", { unique: false }); note.innerHTML += '<li>Magasin d\'objets ajouté.</li>'; // Supprime le magasin d'objets db.deleteObjectStore("toDoList"); };
Spécification | État | Commentaires |
---|---|---|
{{SpecName('IndexedDB', '#widl-IDBDatabase-deleteObjectStore-void-DOMString-name', 'deleteObjectStore()')}} | {{Spec2('IndexedDB')}} | |
{{SpecName("IndexedDB 2", "#dom-idbdatabase-deleteobjectstore", "deleteObjectStore()")}} | {{Spec2("IndexedDB 2")}} |
{{Compat("api.IDBDatabase.deleteObjectStore")}}