Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Ruby on rails Rails迁移:如何将一个表拆分为两个表?_Ruby On Rails_Ruby On Rails 3_Migration_Database Migration_Rails Migrations - Fatal编程技术网

Ruby on rails Rails迁移:如何将一个表拆分为两个表?

Ruby on rails Rails迁移:如何将一个表拆分为两个表?,ruby-on-rails,ruby-on-rails-3,migration,database-migration,rails-migrations,Ruby On Rails,Ruby On Rails 3,Migration,Database Migration,Rails Migrations,我有一个具有以下架构的数据库: [ Region ] 1 --- * [ District ] 1 --- * [ Location ] 我想将中间的表拆分为两个表,如下所示: [ Region ] 1 --- * [ District ] 1 --- * [ Area ] 1 --- * [ Location ] …在将其他列(及其值)传输到新创建的区域表中时,将某些字段(及其值)保留在原始区域表中 在rails迁移中是否有一种标准/干净的方法可以做到这一点(最好不使用原始SQL)?您可以

我有一个具有以下架构的数据库:

[ Region ] 1 --- * [ District ] 1 --- * [ Location ]
我想将中间的表拆分为两个表,如下所示:

[ Region ] 1 --- * [ District ] 1 --- * [ Area ] 1 --- * [ Location ]
…在将其他列(及其值)传输到新创建的区域表中时,将某些字段(及其值)保留在原始区域表中


在rails迁移中是否有一种标准/干净的方法可以做到这一点(最好不使用原始SQL)?

您可以通过两个步骤完成:

第一步 编写一个迁移,创建区域表及其列。 在这次迁移中,编写一些Ruby代码,用来自地区的数据填充表

第二步 编写一个迁移来更改地区表,例如从地区删除不需要的列

此时,运行迁移应该可以得到您想要的,而不必使用SQL


希望有帮助!:)

您可以通过两个步骤完成此操作:

第一步 编写一个迁移,创建区域表及其列。 在这次迁移中,编写一些Ruby代码,用来自地区的数据填充表

第二步 编写一个迁移来更改地区表,例如从地区删除不需要的列

此时,运行迁移应该可以得到您想要的,而不必使用SQL


希望有帮助!:)

接受作为正确答案。最后将其分解为多个步骤。接受为正确答案。最终将其分解为多个步骤。