【问题标题】:how to migrate existing records to match new ORM in rails如何迁移现有记录以匹配 Rails 中的新 ORM
【发布时间】:2014-08-28 17:09:30
【问题描述】:

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

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

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

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

所以从旧的数据结构中,我在位置数据库中有 client_id。将如何着手将这些数据移至新结构?

【问题讨论】:

标签: mysql sql ruby-on-rails


【解决方案1】:

迁移数据本身可以只使用 SQL 来完成。比如:

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

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

ALTER TABLE locations DROP client_id;

除非除了多对多关系之外,您还需要维护该位置的所有者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2017-09-07
    • 2011-10-03
    • 2021-08-25
    • 1970-01-01
    • 2011-04-21
    相关资源
    最近更新 更多