async openDatabase_() { if (!CONNECTION_POOL.has(this.databaseName)) { const connection = await idb.open( this.databaseName, this.databaseVersion, db => this.upgradeDatabase(db)); CONNECTION_POOL.set(this.databaseName, connection); } return CONNECTION_POOL.get(this.databaseName); }
IDBHelper.prototype._getDb = function() { if (this._db) { return Promise.resolve(this._db); } return idb.open(this._name, this._version, upgradeDB => { upgradeDB.createObjectStore(this._storeName); }).then(db => { this._db = db; return db; }); };
return new Promise((resolve, reject) => { this.dbh = idb.open(dbName, 2, (upgradeDb) => { if (debug) { console.log('IndexDbClass.indexedDBCheckOpen: making a new object store'); } if (!upgradeDb.objectStoreNames.contains('events')) { const events = upgradeDb.createObjectStore('events', { keyPath: 'id' }); events.createIndex('id', 'id', { unique: true }); events.createIndex('time', 'time', { unique: false }); } }); return resolve(this.dbh); });
var staticCacheName = 'restaurant-reviews-static-v1'; var idb = require('idb'); let DBNAME = 'restaurant'; let OBJECT_STORE_NAME = 'restaurantStore'; let REVIEWS_OBJECT_STORE_NAME = 'reviewsStore'; let REVIEWS_OUTBOX_STORE = 'reviewsOutbox'; let FAVORITE_OUTBOX_STORE = 'favoriteOutbox'; let DB_URL = 'http://localhost:1337/'; var dbPromise = idb.open(DBNAME, 1, function (upgradeDB){ var restaurantStore = upgradeDB.createObjectStore(OBJECT_STORE_NAME, {keyPath: 'id'}); var reviewsStore = upgradeDB.createObjectStore(REVIEWS_OBJECT_STORE_NAME, {keyPath: 'id'}); reviewsStore.createIndex("restaurant_id", "restaurant_id", { unique: false }); let reviewsOutbox = upgradeDB.createObjectStore(REVIEWS_OUTBOX_STORE, { autoIncrement : true , keyPath: 'id'}); reviewsOutbox.createIndex("restaurant_id", "restaurant_id", { unique: false }); let favoriteOutbox = upgradeDB.createObjectStore(FAVORITE_OUTBOX_STORE, { keyPath : 'restaurant_id' }); }); self.addEventListener('install', function(event) { event.waitUntil(self.skipWaiting().then( caches.open(staticCacheName).then(function(cache) { return cache.addAll([ 'css/', 'data/', 'img/', 'js/' ]);
_open() { return this._dbPromise = idb.open(this._id, 1, upgradeDB => { upgradeDB.createObjectStore(CART_STORE, {autoIncrement: true}); }); }
import idb from 'idb'; export const dbPromise = idb.open('bayTripr', 1, function(upgradeDb) { const bayTriprStore = upgradeDb.createObjectStore('bayTripr'); loadData(); }) function loadData(){ console.log('Local data not found, trying to load from server.'); fetch('./theData.json').then(response => response.json()).then(function(data){ dbPromise.then(function(db) { var tx = db.transaction('bayTripr', 'readwrite'); var bayTripr = tx.objectStore('bayTripr'); bayTripr.put(data, 'data').then(function() { console.log('Entered stop data into local database.'); }) }); }); }