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

时间:2013-05-16 22:13:46

标签: 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)?

1 个答案:

答案 0 :(得分:3)

嗯,你可以分两步完成:

第一步

编写一个用于创建 Area 表及其列的迁移。 在此迁移中,编写一些Ruby代码,使用区域中的数据填充表格。

第二步

编写一个更改表的迁移,例如从区中删除不需要的列的迁移。

此时,运行迁移应该可以获得所需的内容,而无需使用SQL。

希望它有所帮助! :)