2014-11-06 46 views
1

我有一個數據庫,需要遷移到完全不同的結構(我們要從一個自定義的CMS到略有修改的Wordpress數據庫)。MySQL將數據遷移到完全不同的數據庫結構並保持關係不變

我可以很容易地拉出單個表並將它們映射到新結構上,但我很努力地找到一種方法來保存表之間的關係。

例如,在舊的數據庫中,我有一個客戶和購物籃表從客戶表中加入1到多個。 (IE一個客戶 - 很多籃子)。將這些映射到新的數據庫很簡單(用戶,用戶定製和自定義表)。然而,新數據庫中的鍵與舊數據庫中的鍵完全不同,所以我不能用它們將新記錄關聯在一起。

我該如何重新建立這種關係? (即使是寬泛的條款也會有所幫助)

回答

1

唯一發生在我身上的是將舊鍵保留在「臨時」列中。

  • 首先創建客戶表,使用新的id列保留舊的id列。
  • 現在創建購物籃表(不含 的外鍵約束)。
  • 運行更新查詢,使用新客戶ID更新新購物籃 鍵列,加入舊鍵(很抱歉,不知道MySQL更新語法是否足以舉例說明)。
  • 重新創建新列
  • 外鍵約束中刪除「舊」列

希望有所幫助。

+0

嘿 - 這聽起來像一個解決方案! – 2014-11-06 09:25:05

相關問題