2013-08-31 72 views

回答

1

因爲那個應用程序錯誤,我不得不重新創建許多bds。 我刪除了整個bd並手動重新創建,因爲我不信任可能仍然損壞的條目。 如果它不是很大,可以將它轉儲到電子表格上並手動刪除它們,然後重新創建bd。 它不只是dups,你可能也有類似的對象,因爲它們被重新創建,後來只有一個被更新。

+0

那麼我有成千上萬的條目。所以重新創建數據庫並不是一個真正的選擇...... –

+1

不要對任何大型或任何關鍵的東西使用scriptdb。它不是第一次在scriptdb中引起不可逆轉的腐敗。 –

+0

我相信Google正在努力改進ScriptDB服務。我認爲這是一項很有潛力的優秀服務。 –

1

如果您爲數據庫中的條目分配了自己的唯一ID,那麼您可以遍歷所有可能的ID,查找具有多個條目的ID。我不會寫全的代碼,但是這是一個大致輪廓:

1. Generate an array of all possible IDs 
2. For each ID in array, query ScriptDB for items with that ID 
3. If results.length > 1, remove the extras 
4. Goto 2 
5. Finish 

當然,這將需要更長的時間超過6分鐘內,成千上萬的記錄100S,所以你需要一些代碼來保存/負載狀態。我使用ScriptProperties來保存我在數組中的位置。然後我有一個函數來確定我是否已達到5.5分鐘,此時我會停止以避免「超出最大執行時間」錯誤。

如果您還沒有使用唯一的ID,那麼爲了防止將來出現這種情況,您可能需要更多的邏輯來添加到數據庫保存功能中。

+0

是的,我們確實有每個記錄的字母數字唯一ID。你能否提供一些代碼來實現你的建議?謝謝。 –