【问题标题】:Rails Migrations: How to split one table into two tables?Rails Migrations:如何将一张表拆分为两张表?
【发布时间】:2013-05-11 23:48:51
【问题描述】:

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

[ Region ] 1 --- * [ District ] 1 --- * [ Location ]

我想把中间表分成两个表,如下:

[ Region ] 1 --- * [ District ] 1 --- * [ Area ] 1 --- * [ Location ]

...在原始 District 表中保留一些字段(及其值),同时将其他列(及其值)转移到新创建的 Area 表中。

在 Rails 迁移中是否有标准/干净的方法来执行此操作(最好不使用原始 SQL)?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 migration database-migration rails-migrations


    【解决方案1】:

    您可以分两步完成:

    第一步

    编写一个创建 Area 表及其列的迁移。 在此迁移中,编写一些 Ruby 代码以使用来自 District 的数据填充表。

    第二步

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

    此时运行迁移应该可以得到你想要的,而无需使用 SQL。

    希望对您有所帮助! :)

    【讨论】:

    • 接受为正确答案。最后把它分解成多个步骤。
    猜你喜欢
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多