我已经进行了一些搜索,也阅读了SQLite网站上的常见问题解答,但都没有找到答案。
我的数据库方法很可能存在缺陷,但目前我想将数据存储在多个SQLite3数据库中,这意味着不同的文件。我非常担心由于我的应用程序可能在更改表中的数据时崩溃或停电而导致数据损坏。
为确保数据完整性,我基本上需要做到这一点:
更新:还有一个问题--这是否是人们通常会添加到他们的单元测试中的内容?我总是对数据库进行单元测试,但从未遇到过这种情况。如果是这样,你会怎么做?它几乎像你需要向该方法传递另一个参数,例如bool test_transaction,并且如果为true,在数据库访问之间引发异常。然后在调用后进行测试,以确保第一组数据没有进入另一个数据库。但也许这是由SQLite测试覆盖的内容,不应出现在我的测试用例中。
我的数据库方法很可能存在缺陷,但目前我想将数据存储在多个SQLite3数据库中,这意味着不同的文件。我非常担心由于我的应用程序可能在更改表中的数据时崩溃或停电而导致数据损坏。
为确保数据完整性,我基本上需要做到这一点:
begin transaction
modify table(s) in database #1
modify table(s) in database #2
commit, or rollback if error
这在SQLite中受支持吗?另外,我正在使用sqlite.net,具体来说是基于SQLite 3.6.23.1的最新版本。更新:还有一个问题--这是否是人们通常会添加到他们的单元测试中的内容?我总是对数据库进行单元测试,但从未遇到过这种情况。如果是这样,你会怎么做?它几乎像你需要向该方法传递另一个参数,例如bool test_transaction,并且如果为true,在数据库访问之间引发异常。然后在调用后进行测试,以确保第一组数据没有进入另一个数据库。但也许这是由SQLite测试覆盖的内容,不应出现在我的测试用例中。