0

これは実際にはシェル スクリプトに関する質問ですが、Rails に関連しています。

次のような Rails 移行を作成します。

~/dropbox/rails/f6$ rails g migration ModifyWord

次に、Rails は移行スクリプトを作成し、名前をコンソールに報告します。

~/dropbox/rails/f6$ rails g migration ModifyWord
      invoke  active_record
      create    db/migrate/20121231080052_modify_word.rb

次に、vi を使用して移行ファイルを次のように編集します。

~/dropbox/rails/f6$ vi db/migrate/20121231080052_modify_word.rb

おそらく.bash_rcにエイリアスを追加できるシェルスクリプトを介して、viファイル名を単一のコマンドとして実行できるようにしたいと考えています。

つまり、移行後にコマンドを実行すると、報告されたファイル名が表示されます。

これにどのようにアプローチすべきかについて何か提案はありますか?

解決

Michaël Witrant の提案に基づいて、bash プロファイルにエイリアスを追加しました。

  • cmを cat して、最後に作成された移行ファイルを
  • vmから vi 最後に作成された移行ファイル

    エイリアス cm='猫ls db/migrate/*.rb | tail -n 1'

    エイリアス vm='vi ls db/migrate/*.rb | tail -n 1'

4

2 に答える 2

3

タイムスタンプで始まるため、常にアルファベット順で最後のファイルにする必要があるため、単純に次のようにします。

vi `ls db/migrate/*.rb | tail -n 1`
于 2012-12-31T08:19:36.160 に答える
2

これに精通していますか:

rails generate migration AddDetailsToProducts part_number:string price:decimal

移行ファイルでこれを生成します。

class AddDetailsToProducts < ActiveRecord::Migration
  def change
    add_column :products, :part_number, :string
    add_column :products, :price, :decimal
  end
end

そのため、移行ファイルを個別に編集する必要はありません。

于 2012-12-31T08:16:26.600 に答える