La méthode deleteObjectStore()
de l'interface IDBDatabase
supprime un magasin d'objet et ses index de la base de données.
Comme la méthode IDBDatabase.createObjectStore
, cette méthode doit être appelée uniquement lors d'une transaction en mode versionchange
.
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
db.deleteObjectStore(name);
Paramètres
name
- Le nom du magasin d'objet à supprimer.
Valeur de retour
Aucune.
Exceptions
InvalidStateError
- Cette {exception {domxref("DOMException")}} est 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éthodeIDBVersionChangeRequest.setVersion
. TransactionInactiveError
- Cette exception
DOMException
est 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 erreurInvalidStateError
, cela est désormais corrigé (cf. bug 1176165). NotFoundError
- Cette exception
DOMException
est levée si le magasin d'objets n'existe pas. Les noms sont sensibles à la casse.
Exemples
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 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écifications
Spécification | État | Commentaires |
---|---|---|
Indexed Database API La définition de 'deleteObjectStore()' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support basique | 23webkit 24 |
10 moz 16.0 (16.0) |
10, en partie | 15 | 7.1 |
Disponible via les web workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible via les web workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |
Voir aussi
- Manipuler IndexedDB
- Démarrer des transactions :
IDBDatabase
- Manipuler des transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer des données et les modifier :
IDBObjectStore
- Manipuler des curseurs :
IDBCursor
- Exemple de référence pour IndexedDB : To-do Notifications
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight,
gadgino
Dernière mise à jour par :
SphinxKnight,