The upgradeneeded
event is fired when an attempt was made to open a database with a version number higher than its current version.
This event is not cancelable and does not bubble.
The upgradeneeded
event is fired when an attempt was made to open a database with a version number higher than its current version.
This event is not cancelable and does not bubble.
Use the event name in methods like addEventListener()
, or set an event handler property.
js
addEventListener("upgradeneeded", (event) => {}); onupgradeneeded = (event) => {};
An IDBVersionChangeEvent
. Inherits from Event
.
Also inherits properties from its parent, Event
interface.
IDBVersionChangeEvent.oldVersion
Read only
Returns the old version of the database.
IDBVersionChangeEvent.newVersion
Read only
Returns the new version of the database.
This example opens a database and handles the upgradeneeded
event by making any necessary updates to the object store.
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 }); });
This is the same example, but uses the onupgradeneeded event handler property.
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 }); };
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
upgradeneeded_event |
23 | 12 | 10 | 10 | 15 | 8 | 4.4 | 25 | 22 | 14 | 8 | 1.5 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBOpenDBRequest/upgradeneeded_event