如何迁移现有记录以匹配rails中的新ORM

最近我在我正在构建的应用程序中更改了模型关系。 由于稍后将部署这些更改,因此我需要知道如何将现有数据迁移到新结构。 这感觉就像一个可怕的前景。

我原来的设置是这样的..

  1. 客户有很多地方
  2. 一个位置属于一个客户端

然后我创建了一个连接表,以便client has many locations through client_locations

所以从旧的数据结构我在locations数据库中有client_id。 如何将这些数据移动到新结构?

只使用SQL就可以完成数据迁移。 就像是:

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

然后,如果您需要,请清理位置表:

 ALTER TABLE locations DROP client_id; 

除非您需要维护该位置的所有者以及多对多关系。