Estoy tratando de crear un esquema múltiple con una base de datos indexada, los scripts que se implementaron son
const openDB = () => { var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB; // Create multiple schema // Create a dynamic Schema to append data var open = indexedDB.open("ExcelExtension", 1); open.onupgradeneeded = function () { var db = open.result; var store_sheet = db.createObjectStore("schema_1", { keyPath: "id" }); var index = store_sheet.createIndex("NameIndex", ["name.last", "name.first"]); }; open.onupgradeneeded = function () { var db2 = open.result; var store_sheet2 = db2.createObjectStore("schema_2", { keyPath: "id" }); var index = store_sheet2.createIndex("NameIndex2", ["name.last", "name.first"]); }; }//html <button onlick="openDB()> Crear base de datos
qué hice mal ? no hay ningún error en el script, pero solo refleja un esquema en db
Cuando reviso mi base de datos en el navegador, puedo ver que solo se creó un esquema 
Revise cómo funcionan los detectores/controladores de eventos en JavaScript. En general, hay dos formas de registrar un controlador de eventos:
// way 1 thing.onsomeevent = myEventHandler; // way 2 thing.addEventListener('someevent', myEventHandler)La mayoría de las veces no importa qué sintaxis use porque la mayoría de las veces solo está registrando un controlador de eventos.
Sin embargo, a veces hay una gran diferencia. La diferencia entre los dos métodos es que cuando tiene varios controladores de eventos, en el enfoque de asignación de propiedades sobrescribe todos los controladores de eventos registrados con un controlador de eventos. En la segunda forma, no se sobrescribe.
Solo puede registrar varios controladores de eventos mediante la sintaxis de agregar detectores de eventos.