開發中我有一個空的數據存儲。 在線我有一個擁有數百萬實體的數據存儲。數據存儲實體密鑰衝突
在開發數據存儲(本地)中,我放置了一個新實體(生成一個新密鑰)。 然後我導出實體並將其放入在線數據存儲區(使用本地生成的密鑰)。在本地生成的密鑰已經分配給在線數據存儲中的實體的風險是什麼?
或者,它會更簡單通過本地創建密鑰這樣避免相撞:
for (int i = 0; i < data.size(); i++) {
Key k = KeyFactory.createKey(kind, new Date() + i);
// continue to creating and inserting entities...
}
感謝。
創建的,但我們在這裏討論的是將實體(因此創建密鑰)放在本地數據存儲中的開發模式,然後將它們導出到生產在線數據存儲區在我看來,在這種情況下防止衝突的唯一方法是使用某種時間相關的ID /名稱創建密鑰。 –
只有當您以這種方式生成100%的實體鍵時(即,確切地說0放不帶ID),並且以這樣的時間分辨率來創建零重複將被創建時,這將僅工作。如果您已經有一個以普通方式創建的實體,它可能會失敗。 – mjibson