2012-12-31 16 views
0

這是一個真正的shell腳本問題,但涉及到rails。在一個命令中編輯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 

我想能夠做vi filename作爲一個命令,可能通過一個shell腳本,可以有一個別名添加到我的.bash_rc。

也就是說,我會在遷移後運行命令,它會查看報告的文件名。

有關我該如何處理這個問題的任何建議?

SOLUTION

基於每邁克爾Witrant的建議,我已經加入到別名到我的bash的個人資料。

  • 釐米到貓最後創建的遷移文件
  • VM至vi最後創建的遷移文件

    別名釐米= '貓ls db/migrate/*.rb | tail -n 1'

    別名VM =「六ls db/migrate/*.rb | tail -n 1'

回答

3

由於它帶有時間戳啓動時,它應該永遠是最後一個文件,按字母順序,所以我想簡單地做這樣的事情:

vi `ls db/migrate/*.rb | tail -n 1` 
+0

太棒了!謝謝,我會嘗試一下並創建一個別名。乾杯。 – ardochhigh

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 

所以,你不必單獨編輯遷移文件。

+0

謝謝您的回答。是的,我熟悉完整的語法:我在同一個表上添加,刪除和重命名所有語法。 – ardochhigh