删除整个 couchbase lite 数据库问题

delete whole couchbase lite db issue

我想删除我的整个Couchbase lite DB,但由于某些原因某些记录不会被删除,我尝试了以下代码:

try{ db.delete()} catch{...}

但这行不通, 似乎 SQLite 对旧索引有一些问题, 像这样的东西:

revisionId has already existed...

如有任何帮助,我们将不胜感激。

您应该使用以下步骤 1.Delete 数据库 2.Close 数据库管理员 3.Assign 数据库为空

代码:-

try {
     myDatabase.delete();
     myDatabase.manager(close);
     myDatabase = null;
} catch (IOExcept`enter code here`ion e) {
     Log.e(TAG, "Cannot delete database", e);
     return;
}

试试这个..

先停止复制再删除DB

public void stopReplication() {
    if (mPull != null) {
        mPull.stop();
    }
    if (mPush != null) {
        mPush.stop();
    }
    Log.d(TAG, "stopReplication: success");
}

public boolean deleteAllDocuments() {
    try {
        mDatabase.close();
        mDatabase.delete();
        mDatabase = null;
        mManager = null;
        Log.d(TAG, "deleteAllDocuments: success");
        return true;
    } catch (CouchbaseLiteException e) {
        e.printStackTrace();
        Log.e(TAG, "deleteAllDocuments: Failed to close and delete database.");

    }
    catch (Exception e)
    {
        e.printStackTrace();
        Log.e(TAG, "deleteAllDocuments: Failed to close and delete database.");
    }
    return false;
}

编码愉快...:)