1
我想在单元测试期间反复创建并删除一个名称相同的('Test')PouchDB数据库。但是,如果在删除它之前至少向数据库添加一个文档,那么下次尝试创建它时出现以下错误:无法重新创建具有相同名称的PouchDB数据库
“未捕获的NotFoundError:未能在'IDBTransaction'上执行'objectStore':指定没有找到对象存储区。“
这发生在pouchdb.js:1950:
var docStore = transaction.objectStore(DOC_STORE); // PouchDB 3.0.6
然后,如果我看是IndexedDB,数据库确实存在,但只有下列信息:
Security origin:http://localhost:8000
Name:_pouch_Test
Integer Version:1
String Version:
然后,如果我尝试删除这个数据库,Angular抛出一个'CustomPouchError',我没有找到它。
下面是我的应用程序相关的代码片段:
var db = new PouchDB(dbName, function(err, result) {
if (!err) {
$log.info('Database \'' + dbName + '\' opened'); // Happens when I first create 'Test'
} else {
$log.info('Database \'' + dbName + '\' failed to open'); // Happens when I try to re-create 'Test'
}
});
db.destroy(function (err, info) {
if (err) {
$log.error(err);
} else {
$log.info("Database destroyed"); // Happens when I delete 'Test'
}
});
但是,如果我添加任何文件之前删除数据库,它是IndexedDB消失,然后我可以重新创建。
感谢您的帮助。