IDBOpenDBRequest: upgradeneeded Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Das upgradeneeded Ereignis wird ausgelöst, wenn versucht wurde, eine Datenbank mit einer höheren Versionsnummer als der aktuellen Version zu öffnen.

Dieses Ereignis kann nicht abgebrochen werden und ist nicht durchsickerbar.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("upgradeneeded", (event) => { })

onupgradeneeded = (event) => { }

Ereignistyp

Ereigniseigenschaften

Erbt auch Eigenschaften von seinem Elternteil, der Event-Schnittstelle.

IDBVersionChangeEvent.oldVersion Schreibgeschützt

Gibt die alte Version der Datenbank zurück.

IDBVersionChangeEvent.newVersion Schreibgeschützt

Gibt die neue Version der Datenbank zurück.

Beispiele

Dieses Beispiel öffnet eine Datenbank und behandelt das upgradeneeded Ereignis, indem es alle notwendigen Aktualisierungen im Objekt-Store vornimmt.

js
// Open the database
const dBOpenRequest = window.indexedDB.open("toDoList", 4);

dBOpenRequest.addEventListener("upgradeneeded", (event) => {
  const db = event.target.result;
  console.log(`Upgrading to version ${db.version}`);

  // Create an objectStore for this database
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // define what data items the objectStore will contain
  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 });
});

Dies ist dasselbe Beispiel, verwendet jedoch die onupgradeneeded Ereignis-Handler-Eigenschaft.

js
// Open the database
const dBOpenRequest = window.indexedDB.open("toDoList", 4);

dBOpenRequest.onupgradeneeded = (event) => {
  const db = event.target.result;
  console.log(`Upgrading to version ${db.version}`);

  // Create an objectStore for this database
  const objectStore = db.createObjectStore("toDoList", {
    keyPath: "taskTitle",
  });

  // define what data items the objectStore will contain
  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 });
};

Spezifikationen

Specification
Indexed Database API 3.0
# eventdef-idbopendbrequest-upgradeneeded

Browser-Kompatibilität

Siehe auch