元のテーブルのすべてのインデックスを含め、名前に接尾辞を付けるだけで、既存のテーブルのクローンを作成する移行が必要です。
したがって、「snapshots」テーブルがあり、テーブルの正確なコピーとして「snapshots_temp」を作成したいと思います(データではなく、テーブルスキーマだけで、インデックスを含みます)。
ブロックをコピーしてschema.rbファイルから貼り付け、手動で名前を変更するだけです。
しかし、この移行が適用されるまでに、schema.rbからの定義がまだ正確であるかどうかはわかりません。別の開発者がテーブルを変更した可能性があり、移行スクリプトを更新する必要はありません。
では、実行時にテーブルのスキーマを取得するにはどうすればよいでしょうか。基本的に、「rake schema:dump」はどのようにテーブルをリバースエンジニアリングして、移行でも同じことができるようにしますか?(ただし、テーブル名を変更します)。