RailsでHABTMを実行する必要があるときはいつでも、コマンドラインから必要な移行を生成できるかどうか疑問に思っていました。
私は次のようなことをするだけで時間を節約したいと思っていました。
rails g migration tracks_podcasts tracks:references podcasts:references id:false
上記のコードは機能せず、いくつかのバリエーションも機能しません(id:false命令の有無にかかわらず)
RailsでHABTMを実行する必要があるときはいつでも、コマンドラインから必要な移行を生成できるかどうか疑問に思っていました。
私は次のようなことをするだけで時間を節約したいと思っていました。
rails g migration tracks_podcasts tracks:references podcasts:references id:false
上記のコードは機能せず、いくつかのバリエーションも機能しません(id:false命令の有無にかかわらず)
Railsのドキュメントによると、これは機能するはずですが、「references」を「integer」に置き換えたいと思うでしょう。「参照」は有効なデータ型ではありません。そして、id:falseエントリを取り除きます。参照と:id => falseは、生成後の移行内で指定する必要があります。基本的に、必要なすべてのフィールドを使用して基本的な移行を生成し、移行を開いて仕様に合うように変更します。
Usage:
rails generate migration NAME [field:type field:type] [options]
Options:
-o, --orm=NAME # Orm to be invoked
# Default: active_record
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Supress status output
-s, [--skip] # Skip files that already exist
Description:
Create rails files for migration generator.