0

私はクリーンアップしようとしているかなり壊れたテーブル関係を持つRailsアプリを持っています。

現在、Product と Person があり、それらの間には、artists、authors、cover_artists の 3 つの異なる結合テーブルがあります。

3 つの既存の結合テーブルのデータを、creators という新しい結合テーブルに移行しようとしています。新しい作成者の参加には、役割の列が含まれています。

これは、3 つの結合の 1 つから新しい結合にデータを移動するための移行ファイルです。ただし、これを実行すると、新しいテーブルにデータが表示されません。

def up
  execute <<-SQL
    UPDATE creators
    SET product_id = products_artists.product_id,
      person_id = products_artists.person_id,
      role = 'artist'
    FROM products_artists
  SQL
end

def down
  execute <<-SQL
    UPDATE products_artists
    SET product_id = creators.product_id,
      person_id = creators.person_id
    FROM creators
    WHERE creators.role = 'artist'
  SQL
end

どんな助けでも大歓迎です。

4

1 に答える 1