2011-02-07 71 views
0

由於在不同應用程序使用的2個不同DB之間進行同步的原因,我需要更改某些模型的唯一主鍵ID字段。 這樣做是爲了使相關行符合其他數據庫(確保它們使用相同的ID)。Rails:更改DB上的模型ID

更改大多數模型的ID是否會以某種方式影響應用程序? 它會影響數據庫嗎? (performance-wise) 我假設我們沒有在具有特定ID號的代碼中使用硬編碼的地方 ,並且我會在所有引用的表中使用新ID更新外鍵。

我正在使用MySQL。 謝謝。

回答

0

基本上:不,一切都應該工作。

請確保考慮到外鍵以使其與父主鍵的更改保持同步。

您可能需要確保您重置mysql表上的自動增量計數器,以使它們高於新建ID的最高值。 ALTER TABLE tbl AUTO_INCREMENT = 100;