Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何迁移现有记录以匹配rails中的新ORM_Mysql_Sql_Ruby On Rails - Fatal编程技术网

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

Mysql 如何迁移现有记录以匹配rails中的新ORM,mysql,sql,ruby-on-rails,Mysql,Sql,Ruby On Rails,最近,我在正在构建的应用程序中更改了模型关系。因为这些更改将在以后部署,所以我需要知道如何将现有数据迁移到新结构。这感觉像是一个可怕的前景 我最初的设置是这样的 客户机有许多位置 位置属于客户端 然后,我创建了一个连接表,这样一个客户机通过客户机位置有许多位置 因此,根据旧的数据结构,我在locations数据库中有client_id。如何着手将这些数据移动到新结构中 迁移数据本身只需SQL即可完成。比如: INSERT INTO client_locations (client_id, loc

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

我最初的设置是这样的

客户机有许多位置 位置属于客户端 然后,我创建了一个连接表,这样一个客户机通过客户机位置有许多位置


因此,根据旧的数据结构,我在locations数据库中有client_id。如何着手将这些数据移动到新结构中

迁移数据本身只需SQL即可完成。比如:

INSERT INTO client_locations (client_id, location_id)
SELECT client_id, id FROM locations;
然后,如果需要,请清理位置表:

ALTER TABLE locations DROP client_id;

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

这个问题看起来差不多