我已經做了一些搜索,並閱讀SQLite網站上的常見問題,沒有運氣找到我的問題的答案。SQLite是否支持跨多個數據庫的事務?
這很可能是因爲我的數據庫方法有缺陷,但目前我想將數據存儲在多個SQLite3數據庫中,這意味着單獨的文件。我非常擔心由於我的應用程序可能崩潰導致數據損壞,或者在我的表格中更改數據的過程中發生停電。
爲了保證數據的完整性,基本上,我需要做到這一點:
開始交易 數據庫#修改桌1 修改表(一個或多個)數據庫#2 提交或回滾如果錯誤
這是由SQLite支持嗎?另外,我正在使用sqlite.net,特別是基於SQLite 3.6.23.1的最新版本。
UPDATE
一個問題 - 這事的人通常會增加他們的單元測試?我總是單元測試數據庫,但從來沒有像這樣的情況。如果是這樣,你會怎麼做?這幾乎就像你必須將另一個參數傳遞給像bool test_transaction這樣的方法,如果它是真的,則在數據庫訪問之間引發異常。然後在調用之後進行測試,以確保第一組數據沒有進入其他數據庫。但也許這是SQLite測試涵蓋的東西,如果而不是出現在我的測試用例中。
我不認爲你想要將它添加到單元測試。就好像交易運作良好,沒有必要一次又一次地測試它們。只要做一些初步測試,以確保插入,更新,回滾等是適當的,你的好去處。 – 2010-04-21 18:30:37
好吧,我認爲這將是最好的。完善! – Dave 2010-04-21 18:37:04