J'utilise Dexie dans mon application en ligne, et lorsque je tente d'insérer de nouvelles données dans ma base de données IndexedDB je reçois cette erreur: TypeError: Cannot set property 'onerror' of undefined(…)
Dexie - TypeError: Impossible de définir la propriété « onerror » undefined (...)
Ceci est le code qui semble jeter l'erreur:
InsertApiLogs: function (Data) {
return DB.transaction('rw', DB.ApiLogs,() => {
DB.ApiLogs.clear().then(
DB.ApiLogs.bulkPut(Data)
);
}).catch(function (E) {
console.log(E);
return false;
});
},
C'est là que je crée ma base de données:
var DB = new Dexie('local', {autoOpen: true});
DB.version(1).stores({
Event: "EventId, Name, StartDate, EndDate, Description, OriginalUserId, DateCreated, IsArchived, IsRecurring, CreatedInGCal",
Pipeline: "PipelineId, Name, Image, DateCreated, DateArchived, Statuses",
ApiLogs: "APILogId, UserCode, FunctionName, Success, Error, Parameters, ReturnVal, Date",
MySelf: "Type, Data"
});
Depuis que je suis en ajoutant des tables que je vais et je ne veux pas creat e de nombreuses versions de la base de données je l'ai fait ce qui suit pour nettoyer le DB:
var DB = new Dexie('local', {autoOpen: true});
DB.delete();
DB.version(1).stores({
Event: "EventId, Name, StartDate, EndDate, Description, OriginalUserId, DateCreated, IsArchived, IsRecurring, CreatedInGCal",
Pipeline: "PipelineId, Name, Image, DateCreated, DateArchived, Statuses",
ApiLogs: "APILogId, UserCode, FunctionName, Success, Error, Parameters, ReturnVal, Date",
MySelf: "Type, Data"
});
Je supprimé DB.delete()
et rechargées. Je vous dis cela juste au cas où ce n'est pas une bonne pratique et pourrait avoir compromis mon état de DB.
Merci