これがどのように機能するかはわかりませんが、2 つのテーブルがあります。1 つのテーブル インストゥルメントと別のインストルメント メタデータ。インストルメントのインストルメント メタデータは 1 行のみである必要があります。誰かがフィールドを追加して 1 対多にしたため、一部のツールの現在のインストルメント メタデータを削除する移行を作成しようとしています。私はこれでそれをしました:
delete from instrumentmetadata where Id IN (select MetadataId from instrument)
ここで、instrument のいくつかの行に対して、instrumentmetadata に行を追加したいと思います (各楽器に対して 1 対 1 のメタデータを作成します)。私のinstrumentmetadataのIdフィールドはinstrumentテーブルのMetadataIdと一致する必要があるため、それを行う方法がわかりませんでした。役立つ構文があれば fluent-migrator を使用していますが、私は fluent-migrator についてよく知らないので、純粋な sql で問題ありません。前もって感謝します!