IDBDatabase.deleteObjectStore()

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éthode  IDBVersionChangeRequest.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 erreur InvalidStateError, 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

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight, gadgino
 Dernière mise à jour par : SphinxKnight,