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.
addEventListener("upgradeneeded", (event) => { })
onupgradeneeded = (event) => { }
Ereignistyp
Ein IDBVersionChangeEvent
. Erbt von Event
.
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.
// 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.
// 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 |