je suis en commençant par IndexedDB et de ne pas réinventer la roue à l'aide je suis Dexie.js https://github.com/dfahlander/Dexie.jserreurs avec les versions IndexedDB et Dexie.js
J'ai créé la base de données, j'ai ajouté des données et maintenant je suis la création d'un fonction générique qui obtient un fichier CSV et remplit la base de données dans les autres tables.
Ainsi, plus ou moins mon code est
// Creation and populate database and first table
var db = new Dexie("database");
db.version(1).stores({table1: '++id, name'});
db.table1.add({name: 'hello'});
Jusqu'à ici tout est OK
Maintenant, dans le succès de la demande ajax
db.close();
db.version(2).stores({table2: '++id, name'});
db.open();
db.table2.add({name: 'hello'});
temps d'abord ce tout exécuter du code est OK , mais la prochaine fois que j'obtiens cette erreur
VersionError The operation failed because the stored database is a
higher version than the version requested.
Si je supprime la base de données et réexécute le code, la première fois fonctionne correctement.
Une idée? Je n'aime pas trop la version de IndexedDB, ça a l'air frustrant et je ne reçois pas beaucoup d'aide sur le Net Merci.
Editer: Je découvre le «problème/bug/procédure». Si je n'ajoute rien avant toute modification de version, je n'ai pas ce problème, mais est-ce que quelqu'un sait si c'est la procédure normale? Donc, si c'est la procédure, je ne peux pas ajouter de table dinamycally avec une méthode générique. D'abord toutes les déclarations, puis ajoutez des valeurs. Toute possibilité d'ajouter une table après avoir ajouté des valeurs? Editer à nouveau ... Je viens de me rendre compte que je pouvais créer une autre base de données. Je posterai des résultats. Mais toute information sur ce problème est la bienvenue :)
Modifier encore ... J'ai créé Dinamycally une autre base de données et tout le monde est heureux !!