2014-08-28 21 views
2

最近我改變了我正在構建的應用程序中的模型關係。由於這些更改將在稍後部署,因此我需要知道如何將現有數據遷移到新結構。這感覺像一個可怕的前景。如何遷移現有記錄以與rails中的新ORM相匹配

我最初設立是這樣的..

  1. 客戶端有許多地方
  2. 的位置屬於客戶

然後我創建了一個連接表,使得client has many locations through client_locations

因此,從舊的數據結構,我有地點數據庫中的client_id。如何將這些數據轉移到新的結構?

+0

這個問題看起來大致相同http://stackoverflow.com/questions/25492415/change-association-from-one-to-many-to-many-to-many – IS04 2014-08-28 17:22:50

回答

4

遷移數據本身可以用SQL來完成。是這樣的:如果你需要與

INSERT INTO client_locations (client_id, location_id) 
SELECT client_id, id FROM locations; 

然後收拾位置表:

ALTER TABLE locations DROP client_id; 

,除非你需要保持位置的擁有者除多對多的關係。

+0

輝煌謝謝! – user3868832 2014-08-28 17:37:53

相關問題